标签:head 返回 turn argument length push i++ array nts
向数组末尾添加一个或多个元素,并返回数组新的长度
function push(){ for(let i=0;i<arguments.length;i++){ this[this.length] = arguments[i]; } return this.length } Array.prototype.push = push;
向数组开头添加一个或多个元素,并且返回数组新的长度
function unshift(){ //创建一个新数组接收添加的元素 let newAry = []; for(let i=0;i<arguments.length;i++){ newAry[i] = arguments[i]; } let len = newAry.length; for(let i=0;i<this.length;i++){ newAry[i+len] = this[i]; } for(let i=0;i<newAry.length;i++){ this[i] = newAry[i]; } return this.length; } Array.prototype.unshift = unshift;
删除数组最后一项,并返回该删除项目
function pop(){ let returnVal = this[this.length-1]; this.length--; return returnVal } Array.prototype.pop = pop;
删除数组第一项,并且返回该删除项目
function shift(){ let newAry = []; let reVal = this[0]; for(let i=0;i<this.length-1;i++){ newAry[i] = this[i+1]; } for(let i=0;i<newAry.length;i++){ this[i] = newAry[i] } this.length--; return reVal; } Array.prototype.shift = shift;
```
原生JS数组方法实现(一)————push()、unshift()、pop()和shift()
标签:head 返回 turn argument length push i++ array nts
原文地址:https://www.cnblogs.com/bxbxb/p/12142167.html