通过原型链实现数组内置方法[JavaScript_013]

2019-03-18  本文已影响0人  六亲不认的步伐

push()实现


Array.prototype.push = function() {
    for (var i = 0; i < arguments.length; i++) {
        this[this.length] = arguments[i];
    }
}

unshift()实现


Array.prototype.unshift = function() {
    var output = [];
    for (var i = 0; i < arguments.length; i++) {
        output[output.length] = arguments[i];
    };
    for (var i = 0; i < this.length; i++) {
        output[output.length] = this[i];
    };
    for (var i = 0; i < output.length; i++) {
        this[i] = output[i];
    };
    return this.length;
}

reverse()实现


Array.prototype.reverse = function() {
    var output = [];
    for (var i = this.length - 1; i >= 0; i--) {
        output.push(this[i]);
    }
    for (var i = 0; i < output.length; i++) {
        this[i] = output[i];
    };
    return this.length;
}

sort()自定义排序方法


上一篇 下一篇

猜你喜欢

热点阅读