• 数组的迭代(循环)方法


    ① every :针对数组元素做些判断,如果结果都为true  则返回的结果为true

    1) 用法:数组.every(function(item,idx,arr){ return 判断条件 })

    2) Item表示数组中的数组项  idx表示数组项索引 arr表示循环的数组

    3) 如果循环每一个数组 返回的判断条件 结果都是true every函数返回的就是true 如果循环过程中有一个返回值为false, 则every函数返回值也是false

    ② Some:和every用法完全相同

    1) 作用:some只要有一个返回值为true  some的返回值就是true,如果返回值全是false  some的返回值也是false

    ③ Filter:过滤器

    1) 用法:数组.fliter(function(item,idx){ return 过滤条件 })

    2) 如果数组项 满足过滤条件,就保留下来,不满足 就过滤掉,最后将保留下来的数组项 组成一个新数组 返回出来

    ④ Map:

    1) 用法:数组.map(function(itemidx){ return 对数组项的操作代码 });

    2) 循环每一个数组项 对每一个数组项执行返回的操作代码 将操作过之后的数组项 组成一个新数组 返回出来

    ⑤ forEach

    1) 用法:数组.forEach(function(item,idx){ 循环体代码 })

    2) 作用:循环数组,执行循环体代码

    ⑥代码示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <script>
            // every :针对数组元素做些判断,如果结果都为true  则返回的结果为true
            // 如果循环每一个数组 返回的判断条件 结果都是true every函数返回的就是true 如果循环过程中有一个返回值为false, 则every函数返回值也是false
            var arr = [1,2,3,4,5,6,7];
            var ret = arr.every(function(item,idx,arr){
                // console.log(item+"---"+idx,arr);
                return item>1;
            })
            console.log(ret);
    
            // some :  针对数组元素做些判断,如果结果有一个为true  则返回的结果为true
            var ret1 = arr.some(function(item,idx,arr){
                // console.log(item+"---"+idx,arr);
                return item>6;
            })
            console.log(ret1);
    
            // filter : 针对数组元素做些判断,满足条件的元素,会组成一个新的数组,并且返回
            var arr1 = ["张居正","张之洞","张三丰","王安石","王伯当","王羲之","李云龙","意大利炮"];
            //留下姓张的
            var arr2 = arr1.filter(function(item,idx){
                return item.indexOf("")==0
            })
            console.log(arr2);
    
            // map :    返回一个新的数组
            var arr3 = ["老萧","allen","萧宇"];
            var arr4 = arr3.map(function(item,idx){
                return item+"真帅";
            })
            console.log(arr4);
    
            // forEach :  没有返回值,就是一个简单的循环
            var arr5 = ["马云","马化腾","李彦宏","蔡崇信","张勇"];
            arr5.forEach(function(item,idx){
                console.log(idx+'---'+item);
            })
    
            
        </script>
    </body>
    </html>
  • 相关阅读:
    「数列分块入门学习笔记」
    「Luogu P3273 [SCOI2011]棘手的操作」
    「CF1342D Multiple Testcases」
    「CF803G Periodic RMQ Problem」
    【cf比赛记录】Educational Codeforces Round 77 (Rated for Div. 2)
    【cf比赛记录】Codeforces Round #601 (Div. 2)
    【cf比赛记录】Codeforces Round #600 (Div. 2)
    【学习报告】简单搜索
    【POJ2676】Sudoku
    【POJ1416】Shredding Company
  • 原文地址:https://www.cnblogs.com/shihaiying/p/13683612.html
Copyright © 2020-2023  润新知