原生JS数组方法实现(一)————push()unshift()pop()和shift()
Posted bxbxb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生JS数组方法实现(一)————push()unshift()pop()和shift()相关的知识,希望对你有一定的参考价值。
push
向数组末尾添加一个或多个元素,并返回数组新的长度
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
删除数组最后一项,并返回该删除项目
function pop(){ let returnVal = this[this.length-1]; this.length--; return returnVal } Array.prototype.pop = pop;
shift
删除数组第一项,并且返回该删除项目
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()的主要内容,如果未能解决你的问题,请参考以下文章