自定义实现数组unshift效果

数组的unshift

在JavaScript中,数组的unshift方法用于将一个或多个元素添加到数组的开始位置,并返回新数组的长度。

例如,如果你有一个数组arr,你可以使用unshift方法将一个新元素添加到数组的开始位置:

1
2
3
4
5
let arr = [2, 3, 4];
let newLength = arr.unshift(1);

console.log(arr); // 输出: [1, 2, 3, 4]
console.log(newLength); // 输出: 4

你也可以同时添加多个元素:

1
2
3
4
5
let arr = [3, 4, 5];
let newLength = arr.unshift(1, 2);

console.log(arr); // 输出: [1, 2, 3, 4, 5]
console.log(newLength); // 输出: 5

unshift方法可以用于向数组开头添加一个或多个元素,并返回新的数组长度。这是一个非常有用的方法,特别是在需要在数组中添加元素的场景中。

自定义实现:myUnshift

1
2
3
4
5
6
7
8
9
10
11
12
13
// 实现数组的unshift效果
Array.prototype.myUnshift = function(){
const len = arguments.length;
for(let i = len - 1; i >= 0; i--){
const element = arguments[i];
this.splice(0, 0, element);
}
return this.length;
}

let arr = [2, 4, 7];
console.log(arr.myUnshift(8, 0, 3, 2)); // 7
console.log(arr); // [8, 0, 3, 2, 2, 4, 7]

需要注意需要返回this.length,因为unshift最终的返回值为新数组的长度。