js数组迭代法方法重构全 !!建议收藏(pop()、push()、shift()、unshift()、reverse()、sort()、forEach()、every()、some()等方法)

   1

  pop():  此方法用来删除数组的左后一个元素并返回删除的元素                                        

// pop()方法重构
Array.prototype.mypop = function() {
        var tem = this[this.length - 1]
        this.length--;
        return tem;
    }
    var arr = [1, 2, 10, 5, 3];
    var num_1 = arr.mypop();
    console.log(num_1);
    console.log(arr);

push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

注意: 新元素将添加在数组的末尾。

注意: 此方法改变数组的

var arr = [1, 2, 10, 5, 3];
 
// push()
Array.prototype.mypush = function() {
        for (var i = 0; i < arguments.length; i++) {
            this[this.length] = arguments[i];
        }
        return this.length;
    }
    var num = arr.mypush(50, 60, 70);
    console.log(num);
    console.log(arr);

3 shift()

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

注意: 此方法改变数组的长度!

// shift()
Array.prototype.myshift = function() {
        var tem = this[0];
        for (var i = 0; i < this.length; i++) {
            this[i] = this[i + 1];
        }
        this.length--;
        return tem;
    }
    var arr = [1, 2, 10, 5, 3];
    var num_1 = arr.myshift();
    console.log(num_1);
    console.log(arr);

4 unshift()

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

注意: 该方法将改变数组的数目。

// unshift()
Array.prototype.myunshift = function() {
        var sum = this.length + arguments.length;
        var ag = arguments.length;
        var j;
//方法一
        for (i = sum; i > 0; i--) {
            if (i > ag) {
                this[i - 1] = this[i - 1 - ag];
            } else {
                this[i - 1] = arguments[i - 1];
            }
        }
//方法二
        // for (j = sum - 1; j > ag; j--) {
        //     this[j] = this[j - ag];
        // }
        // if (j == ag) {
        //     this[j] = this[0];
        // }
        // for (var i = 0; i < ag; i++) {
        //     this[i] = arguments[i];
        // }
        return sum;
    }
    var arr = [1, 2, 10, 5, 3];
    var num_1 = arr.myunshift(50, 30, 60, 70);
    console.log(num_1);
    console.log(arr);

5 reverse()

reverse() 方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值