利用JavaScript重构数组的unshift方法 实现底层逻辑
unshift方法 从头部开始插入数组元素
- 参数:所要插入的数组元素
- 返回值:新数组的长度
- 修不修改原数组:修改原数组
Array.prototype.myUnshift = function () {
var len = this.length + arguments.length
for (var i = len; i > 0; i--) {
//将原数组中的数组元素向后移动arguments.length位
if (i > arguments.length) {
this[i - 1] = this[i - 1 - arguments.length]
} else {
this[i - 1] = arguments[i - 1]
}
}
return len
}
var arr1 = [1, 2, 3, 4, 5]
var res1 = arr1.myUnshift('hello', 'hi', 'beautify')
console.log(res1, arr1);//8 [ 'hello', 'hi', 'beautify', 1, 2, 3, 4, 5 ]