Array.prototype.unshift()

unshift()方法将一个或多个数组添加到数组开头,并返回新数组的长度。

此方法会改变数组自身。

var arr = [1, 2];

arr.unshift(0); //result of call is 3, the new array length
//arr is [0, 1, 2]

arr.unshift(-2, -1); // = 5
//arr is [-2, -1, 0, 1, 2]

arr.unshift( [-3] );
//arr is [[-3], -2, -1, 0, 1, 2]

自己实现简单的unshift():

Array.prototype.unshift = function () {
        var str = "";
        for (var i = 0; i < arguments.length; i++) {
            if (typeof arguments[i] == "string") {
                str += "'" + arguments[i] + "',";
            } else {
                str += arguments[i] + ",";
            }
        }
        for(var i = 0; i < this.length; i++){
            if(typeof this[i] == "string"){
                str += "'" + this[i] + "',"
            } else {
                str += this[i] + ","
            }
        }
        var ary = eval("["+str+"]");
        this.length = ary.length;
        for(var i=0; i < ary.length; i++){
            this[i] = ary[i];
        }
        return ary.length;
    };

 

posted @ 2018-06-19 15:40  hahazexia  阅读(435)  评论(0)    收藏  举报