原生JS数组方法实现(一)————push()、unshift()、pop()和shift()

push

向数组末尾添加一个或多个元素,并返回数组新的长度html

function push(){ for(let i=0;i<arguments.length;i++){ this[this.length] = arguments[i]; } return this.length } Array.prototype.push = push;

unshift

向数组开头添加一个或多个元素,而且返回数组新的长度数组

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;

pop

删除数组最后一项,并返回该删除项目this

function pop(){ let returnVal = this[this.length-1]; this.length--; return returnVal } Array.prototype.pop = pop;

shift

删除数组第一项,而且返回该删除项目spa

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;

```prototype

原文出处:https://www.cnblogs.com/bxbxb/p/12142167.htmlcode

相关文章
相关标签/搜索