输入输出
- 定义:向数组的末尾添加一个或更多元素,并返回新的长度。
- 语法: arr.push(element1, ..., elementN)
- 参数:可以接收任意个数量的参数
- 返回值:返回修改后数组的长度。
实现
Array.prototype._push=function(){
var args = [...arguments];
//var arr = this.slice(0);
args.map(item =>{
this[this.length] = item
});
return this.length;
};
var arr=[1];
arr._push(2,3);//返回值数组的长度 3
console.log(arr);//[1,2,3]
总结
- 关键就是_push中的this。理解这个this,就是谁调用就指向谁。比如arr._push(); 是arr调用,那么就指向arr。
- 遍历时的赋值,每次数组的长度就代表他的末尾处增加。每次都往得到的新数组的末尾处增加。就可以一直添加下去。直到arguments中的参数全部添加完。