js 实现split
实现 JavaScript 的 split 方法
JavaScript 的 split 方法用于将字符串分割成子字符串数组。以下是手动实现 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 方法更完善,支持正则表达式分隔符等高级功能。此实现仅覆盖基本用例。







