数组方法实现(二)————数组方法push()、pop()

push()方法

1. 定义:向数组的末尾添加一个或更多元素,并返回新的长度。
2. 语法: arr.push(element1, ..., elementN)
3. 参数:可以接收任意个数量的参数
4. 返回值:返回修改后数组的长度。
var arr1 = [1, 2, 3, 4]; 
var arr2 = ["C", "B", "A"];
Array.prototype.copyPush = function() {
    for(var i = 0; i < arguments.length; i++) {
        this[this.length] = arguments[i];
    }
    return this.length;
};

arr1.push('A', 'B');   // 6
arr1; // [1, 2, 3, 4, 'A', 'B']
arr2.push();   // 3
arr2;  // ["C", "B", "A"]

pop()方法

1. 定义:从数组末尾移除最后一项,减少数组的length值,并返回移除的项。
2. 语法: arr.pop()
3. 参数:/
4. 返回值:从数组中删除的元素(当数组为空时返回undefined)。
var arr1 = [1, 2, 3, 4];
var arr2 = [];

Array.prototype.copyPop = function() {
    var result = null;

    if(this.length == 0) { //数组为空时返回undefined
        return undefined;
    }
    result = this[this.length - 1];
    this.length = this.length - 1;
    return result;
};
arr1.copyPop(); // 4
arr1; // [1, 2, 3]
arr1.length; // 3


// 数组为空时
arr2.length; // 0
arr2.copyPop(); // undefined
arr2; // []
arr2.length; // 0

你可能感兴趣的:(JavaScript)