文章目录
slice手写实现
- 语法: var new_array = slice(array, [begin[, end]])
- 功能: 返回一个由 begin 和 end 决定的原数组的【浅拷贝】, 【原始数组不会被改变】
- 左闭右开
function slice(array, begin, end) {
const arr = []
// 处理传递进来的空数组
if (array.length === 0) {
return arr
}
// 处理没有指定开始和结束的位置
begin = begin || 0
end = end || array.length - 1
// 处理范围的问题
if (begin < 0) {
begin = 0
}
if (end > array.length - 1) {
end = array.length
}
for (let index = begin; index < end; index++) {
arr.push(array[index])
}
return arr
}
let a = slice([3, 243, 35, 4, 3, 2, 3, 221], 2, 7)
console.log(a) // [ 35, 4, 3, 2, 3 ]