map,filter,find,findindex,some,every,js中数组遍历


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- JS中的数组遍历 map, filter, find, findIndex,some, every, forEach, for in, for of 用法总结和区别 -->
    <!-- 函数简述:
        map():返回一个新的Array,每个元素为调用func的结果
        filter():返回符合func条件的元素数组
        find():返回第一个符合条件的元素对象
        findIndex():返回第一个符合条件的元素对象的位置(索引)
        some():返回一个boolean,判断是否有元素是否符合func条件
        every():返回一个boolean,判断每个元素是否符合func条件
        forEach():没有返回值,只是针对每个元素调用func 
    -->


    <script>
        // <!-- map 返回一个新的数组,每个元素为调用func函数后的结果 -->
        var list = [1, 2, 3, 4, 5]
        var need = list.map((item, index) => {
            return item * 2
        })
        console.log(need);   //[2, 4, 6, 8, 10]
    </script>

    <script>
        // filter  返回符合fun条件的元素素组
        var list = [1, 2, 3, 4, 5, 6];
        var need = list.filter((item, index) => {
            return (item % 2 == 0)
        })
        console.log(need);  //[2,4,6]
    </script>

    <script>
        //find // 返回第一个符合条件的元素对象 如果没有符合的元素,则返回undefined   /* 注意,返回的是符合条件的元素对象,新数组*/
        var list = [{ name: '张三', age: 18 }, { name: '李四', age: 83 }];
        var need = list.find((item, index) => {
            return item.name == '张三'
        })
        console.log(need); //  {name: '张三', age: 18}
    </script>


    <script>
        // findIndex 返回第一个符合条件元素的索引,如果都不符合,则返回-1
        var list = [false, null, 1, 2, 3, 4, 5, 6]
        var need = list.findIndex((item, index) => {
            return item == 5
        })
        console.log(need);   // 6
    </script>

    <script>
        // some  返回一个Boolean 判断元素是否符合funs条件,如果有一个符合,则循环停止,并且返回true
        var list = [1, 2, 3, 4, 5];
        var flag = list.some(d => {
            console.log(d);   // print: 1 2 3 4
            return d > 3;
        });
        console.log(flag);
    </script>

    <script>
        // every 返回一个boolean,判断每个元素是否符合func条件,有一个元素不满足func条件,则循环终止,返回false。
        let list = [1, 2, 3, 4, 5];
        let flag = list.every(d => {
            console.log(d);
            return d < 3;
        });
        // print: 1 2 3
        // flag: false
    </script>

</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值