美文网首页
关于数组的迭代方法

关于数组的迭代方法

作者: 周周很可爱 | 来源:发表于2019-10-20 19:47 被阅读0次

    ES5为数组定义了5个迭代的方法
    每个方法都接受两个参数:1.要在每一项上运行的函数 2.运行该函数的作用域对象--影响this的值(可选)。
    运行的函数会接受三个参数:1.数组项的值 2.该项在数组中的位置 3.数组对象本身。

    31. every()

    对数组的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
    例子:

        var arr = [1,2,3,4,5,4,3,2,1];
        var num = arr.every(function(item,index,array){
            return (item > 2);
        })
        console.log(num);  //false
    

    2 .some()

    对数组的每一项运行给定函数,如果该函数对任一项返回true,则返回true。

        例:
        var arr = [1,2,3,4,5,6,7,8];
        var num = arr.some(function(item,index,array){
            return (item > 2);
        })
        console.log(num);  //true
    

    3.filter()

    对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组。

        例:
        var arr= [1,2,3,4,5,4,3,6,1];
        var num= arr.filter(function(item,index,array){
            return (item > 3);
        })
        console.log(filterResult);  //[4,5,4,6]
    

    4·map()

    对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组。

        例:
        var arr = [1,2,3,4,5,6,7,8];
        var num = arr.map(function(item,index,array){
            return item*2;
        })
        console.log(num);  //[2,4,6,8,10,12,14,16]
    

    5·forEach()

    对数组的每一项运行给定函数。该方法没有返回值。

        var arr = [1,2,3,4,5,6,7,8];
        var num = arr.forEach(function(item,index,array){
            console.log(item*2); //[2,4,6,8,10,12,14,16]
        })
        console.log(num);  //undefined
    

    归并方法

    ·reduce() 是从数组的第一项开始,逐个遍历到最后。
    .reduceRight() 是从数组的最后一项开始,逐个遍历到最前。
    这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。
    这两个方法都接收两个参数:1.要在每一项上运行的函数 2.作为归并基础的初始值(可选)
    传给这两个方法的函数接收4个参数:1.前一个值 2.当前值 3.项的索引 4.数组对象

        例:
        var values = [3,6,5,2,4,2];
        var sum = values.reduce(function(prev,cur,index,array){
            return prev + cur;  //3+6=9+5=14+2=16+4=20+2=22
        });
        console.log(sum); //22
    

    相关文章

      网友评论

          本文标题:关于数组的迭代方法

          本文链接:https://www.haomeiwen.com/subject/ymuamctx.html