当前位置:首页 > JavaScript

js 实现split

2026-02-01 12:27:13JavaScript

js 实现split

实现 JavaScript 的 split 方法

JavaScript 的 split 方法用于将字符串分割成子字符串数组。以下是手动实现 split 功能的代码示例:

js 实现split

function customSplit(str, separator, limit) {
  const result = [];
  if (separator === undefined) {
    return [str];
  }
  if (str.length === 0) {
    return result;
  }

  let current = '';
  for (let i = 0; i < str.length; i++) {
    if (separator === '' && current !== '') {
      result.push(current);
      current = '';
    }
    if (str.substr(i, separator.length) === separator) {
      result.push(current);
      current = '';
      i += separator.length - 1;
    } else {
      current += str[i];
    }
  }
  result.push(current);

  if (limit !== undefined && limit < result.length) {
    return result.slice(0, limit);
  }
  return result;
}

使用示例

console.log(customSplit("hello world", " ")); // ["hello", "world"]
console.log(customSplit("hello", "")); // ["h", "e", "l", "l", "o"]
console.log(customSplit("hello world", " ", 1)); // ["hello"]

实现说明

该自定义 split 函数处理以下情况:

  • separator 未定义时返回包含原字符串的数组
  • 空字符串作为 separator 时逐个字符分割
  • 支持 limit 参数限制返回数组长度
  • 正确处理多字符分隔符的情况

与原生方法对比

原生 String.prototype.split 方法更完善,支持正则表达式分隔符等高级功能。此实现仅覆盖基本用例。

标签: jssplit
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…