unshift() 方法用于向数组的开头添加一个或更多元素,并返回新的长度。
重构unshift() 方法:
Array.prototype.myUnshift = function(){
// 创建一个值存储数组添加后的长度
var length = this.length + arguments.length;
// 循环遍历数组添加后的每一项
for(var i = length-1;i>=0;i--){
// 判断是否到达该添加元素的位置
if(i>arguments.length-1){
// 未到达添加位置时数组每一项向后移动添加的元素值位
this [i] = this [i-arguments.length]
}
// 到达添加位置时将每一项添加到数组中
else{
this[i] = arguments[i];
}
}
return length;
}
var arr = [1,2,3,4,5,6,7];
var res = arr.myUnshift( 'bob', 'jarry ','tom', 'mike');
console.log(res,arr);