js 手动实现数组的unshift
unshift是什么?
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
注意: 该方法将改变数组的数目。
语法:
array.unshift(item1,item2, ..., itemX)
代码实现
首先,在数组的原型上挂载一个新的方法,myUnshift
Array.prototype.myUnshift = function () {
}
通过循环遍历参数,使用splice方法,向数组开头添加元素,最后再返回数组的长度。代码如下:
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 = [1, 2, 3]
console.log(arr.myUnshift(4, 5, 6), arr)
//6 [4, 5, 6, 1, 2, 3]