slice js实现
slice.js 实现方法
在JavaScript中,slice()方法用于数组或字符串的截取操作。以下是针对不同场景的实现方式:
数组的slice实现
数组的slice()方法返回一个新数组,包含从开始到结束(不包括结束)的元素。基本语法:
array.slice(start, end)
示例代码:

const fruits = ['Apple', 'Banana', 'Orange', 'Mango', 'Strawberry'];
const citrus = fruits.slice(1, 3); // ['Banana', 'Orange']
字符串的slice实现
字符串的slice()方法提取字符串的一部分并返回新字符串。语法:
str.slice(startIndex, endIndex)
示例代码:

const str = "Hello world";
const res = str.slice(0, 5); // "Hello"
自定义slice函数
可以手动实现一个slice函数来理解其原理:
function customSlice(array, start, end) {
const result = [];
start = start || 0;
end = end || array.length;
if (start < 0) start = array.length + start;
if (end < 0) end = array.length + end;
for (let i = start; i < end && i < array.length; i++) {
result.push(array[i]);
}
return result;
}
注意事项
- 原始数组或字符串不会被修改
- 负数索引表示从末尾开始计算
- 省略end参数会截取到末尾
- 如果start大于数组长度,返回空数组
浏览器兼容性
所有现代浏览器都支持slice方法,包括:
- Chrome
- Firefox
- Safari
- Edge
- Opera
- IE9+
对于需要兼容旧版浏览器的情况,可以使用上述自定义实现或polyfill。





