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

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()自定义排序方法


  • 规则:
    1. 自定义的排序方法,必须传入两个形参
    2. 返回的值为负数时,前面的数字在前,反之,后面的在前
    3. 返回0时不变化
      return a-b 为升序排序,b-a为降序排序

你可能感兴趣的:(通过原型链实现数组内置方法[JavaScript_013])