天天看點

js數組常用的方法:forEach、map、filter、every的對比

工作中數組常用的方法:forEach、map、filter、every的對比

代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        // ES5新增的常用數組方法
        let arr = [, , , , ];

        // 一 forEach => 周遊數組
        arr.forEach((v, i) => {
            console.log(v, i);
        });

        // 二 map => 使用一個數組, 利用某規則映射得到一個新數組
        let mapArr = arr.map((v, i) => {
            return v * v;
        });
        arr.map((v, i) => v * v);    // 如果隻有一句話, 可以省略大括号和return
        console.log(mapArr);         // [1, 4, 9, 4, 1]

        // 三 filter => 找出符合條件的元素

        // 3.1 找出數組中的偶數
        let filterArr1 = arr.filter((v, i) => v %  == );
        console.log(filterArr1);

        // 3.2 删除數組中的偶數
        let filterArr2 = arr.filter((v, i) => v %  != );   // 找出數組中的奇數留下來即可
        console.log(filterArr2);

        // 四 every => 判斷數組中的所有元素是否都符合某種條件

        // 4.1 數組中的數字是否都是偶數
        let result1 = arr.every((v, i) => v %  == )  // 所有的結果都為true, 結果為true, 有一個false, 結果為false
        console.log(result1)

        // 4.2 數組中的數字是否都大于0
        let result2 = arr.every(v => v > )
        console.log(result2)

        // 五 some => 判斷數組中是否含有符合條件的元素

        // 5.1 數組中是否有大于2的數
        let result3 = arr.some(v => v > )  // 隻要有一個true, 結果為true
        console.log(result3)

        // 5.2 數組中是否有小于1的數
        let result4 = arr.some(v => v < )
        console.log(result4)
    </script>
</body>
</html>
           

繼續閱讀