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);//执行结果
  • 相关阅读:
    Java System.getProperty vs System.getenv
    Bring JavaScript to your Java enterprise with Vert.x
    es4x 引用外部jar 包以及集成typescrip
    cube.js 最近的一些更新
    es4x 调用其他三方jar 包
    graalvm native image 试用
    es4x 使用nodejs 开发vertx 应用框架试用
    clojure 环境搭建
    restql 学习三 查询语言简单说明
    restql 学习二 几种查询模式
  • 原文地址:https://www.cnblogs.com/nimon-hugo/p/14510414.html
Copyright © 2011-2022 走看看