码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-01-02 22:26:41      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:head   返回   turn   argument   length   push   i++   array   nts   

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()

标签:head   返回   turn   argument   length   push   i++   array   nts   

原文地址:https://www.cnblogs.com/bxbxb/p/12142167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!