zoukankan      html  css  js  c++  java
  • 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);//执行结果
  • 相关阅读:
    C#中小写人民币转大写
    Oracle中按规定的字符截取字符串
    Oracle中table数据数据类型
    Oracle中case的第二种用法
    javascript跳转页面
    C#添加二维码带加密带logo
    Oracle
    Oracle中with关键字的使用
    jquery
    插入排序,希尔排序原理,代码及复杂度分析
  • 原文地址:https://www.cnblogs.com/nimon-hugo/p/14510414.html
Copyright © 2011-2022 走看看