数组的新方法, forEach, some,filter, findIndex遍历方法

forEach

遍历但不能中断

 <script>
        var list = [
            { "id": 1, "name": "a" },
            { "id": 2, "name": "b" },
            { "id": 3, "name": "c" },
            { "id": 4, "name": "d" },
            { "id": 5, "name": "e" },
            { "id": 6, "name": "f" },
            { "id": 7, "name": "g" }
        ];

        list.forEach(time => {
            console.log(time.id + "---" + time.name);
        });
    </script>

 

some

可以通过return true中断

<script>
        var list = [
            { "id": 1, "name": "sfsd" },
            { "id": 2, "name": "a" },
            { "id": 3, "name": "a" },
            { "id": 4, "name": "a" },
            { "id": 5, "name": "a" },
            { "id": 6, "name": "a" },
        ];

        list.some(time=>{
            if(time.id === parseInt(3)){
                list.splice(3,1);
                return true;
            }
        });

        console.log(list);
    </script>

 

filter

遍历后将数据装入另一个数组

<script>
        var list = [
            { "id": 1, "name": "sfsd" },
            { "id": 2, "name": "a" },
            { "id": 3, "name": "a" },
            { "id": 4, "name": "a" },
            { "id": 5, "name": "a" },
            { "id": 6, "name": "a" },
        ];

        //返回所有包含的对象
        var arr = list.filter(time=>{
            if(time.name.includes('a')){
                return time;
            }
        });

        console.log(arr);
    </script>

 

findIndex

返回对应的index元素

<script>
        var list = [
            { "id": 1, "name": "sfsd" },
            { "id": 2, "name": "a" },
            { "id": 3, "name": "a" },
            { "id": 4, "name": "a" },
            { "id": 5, "name": "a" },
            { "id": 6, "name": "a" },
        ];

        //返回找到的第一个元素的下标
        var el = list.findIndex(time => {
            //字符串的方法, 包含为true,反之为false
            if (time.name.includes('a')) {
                return time;
            }
        });

        console.log(el);
    </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值