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]