扩展原生js的Array类

/**************** 数组扩展 ********************/

Array.prototype.add = function(item) {
    this.push(item);
}

Array.prototype.addRange = function(items) {
    var length = items.length;

    if (length != 0) {
        for (var index = 0; index < length; index++) {
            this.push(items[index]);
        }
    }
}

Array.prototype.clear = function() {
    if (this.length > 0) {
        this.splice(0, this.length);
    }
}

Array.prototype.isEmpty = function() {
    if (this.length == 0)
        return true;
    else
        return false;
}

Array.prototype.clone = function() {
    var clonedArray = [];
    var length = this.length;

    for (var index = 0; index < length; index++) {
        clonedArray[index] = this[index];
    }

    return clonedArray;
}

Array.prototype.contains = function(item) {
    var index = this.indexOf(item);
    return (index >= 0);
}

Array.prototype.dequeue = function() {
    return this.shift();
}

Array.prototype.indexOf = function(item) {
    var length = this.length;

    if (length != 0) {
        for (var index = 0; index < length; index++) {
            if (this[index] == item) {
                return index;
            }
        }
    }

    return -1;
}

Array.prototype.insert = function(index, item) {
    this.splice(index, 0, item);
}

Array.prototype.joinstr = function(str) {
    var new_arr = new Array(this.length);
    for (var i = 0; i < this.length; i++) {
        new_arr[i] = this[i] + str
    }
    return new_arr;
}

Array.prototype.queue = function(item) {
    this.push(item);
}

Array.prototype.remove = function(item) {
    var index = this.indexOf(item);

    if (index >= 0) {
        this.splice(index, 1);
    }
}

Array.prototype.removeAt = function(index) {
    this.splice(index, 1);
}
原文地址:https://www.cnblogs.com/zfc2201/p/2820342.html