数组push方法的实现

1,809 阅读1分钟

输入输出

  1. 定义:向数组的末尾添加一个或更多元素,并返回新的长度。
  2. 语法: arr.push(element1, ..., elementN)
  3. 参数:可以接收任意个数量的参数
  4. 返回值:返回修改后数组的长度。

实现

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中的参数全部添加完。