• js源码-自定义数组的pop和shift方法


    本文将自定义_pop和_shift来模拟数组的pop和shift方法

    _pop:

    /*
    *js中数组的pop方法:删除数组的最后一个元素,把数组的长度减1,并且返回删除的这个元素;如果数组为空,则pop()不改变数组,并且返回undefined;
    */
    Array.prototype._pop=function(){//自定义一个方法_pop
        if(!this.length) return undefined; //如果数组的长度为零,调用该方法的时候,直接返回一个undefined
        var end=this[this.length-1]; //获取最后一个值赋值给变量end;
        this[this.length-1]=null;    //把最后一个值释放掉
        this.length=this.length-1;   //把数组的长度减1
        return end;                  //返回被尾部被删除的元素
    }
    var eg=[1,2,3,4];                //例子
    var resultdata=eg._pop();        //执行数组方法
    console.log(eg,resultdata);        //执行结果

    _shift:

    /*
    *js中数组的操作方法shift(),用于把数组的第一个元素从其中删除。并返回第一个元素的值;
    */
    Array.prototype._shift=function(){//在数组的原型链上自定义——shift方法
        var start=this[0]; //存储数组中第一个元素
        this[0]=null;//然后把数组中的第一个元素释放
        for(var i=0;i<this.length;i++){//数组元素做一个循环遍历
            this[i]=this[i+1];//数组中,元素的前一个元素跟后一个元素交换位置
        }
        this.length=this.length-1;//去除数组的最后一位元素
        return start;//返回数组中的第一个元素
    }
    var eg=[1,23,34,3434,34345];//例子
    var result=eg._shift();//执行方法,并且获取返回值
    console.log(eg,result);//执行结果
  • 相关阅读:
    div中嵌套div中使用margin-top失效问题
    thinkphp点击导航变色
    thinkphp I() 方法
    判断是手机端还是电脑端 isMobile()
    手机端H5 header定义样式
    AR.Drone 2.0四轴飞机体验:最好的玩具航拍器
    这是一个专注于电脑技术、软件应用、互联网、嵌入式,电子技术行业等的原创IT博客
    ul li列子
    [HTML]去除li前面的小黑点,和ul、LI部分属性
    Bad update sites
  • 原文地址:https://www.cnblogs.com/nimon-hugo/p/14510414.html
Copyright © 2020-2023  润新知