js数组迭代方法与归并方法

ES5为数组定义了5个迭代的方法:

运行的函数会接受三个参数:1)数组项的值 2)该项在数组中的位置 3)数组对象本身。

.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

.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

.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]

·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]

·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() 是从数组的最后一项开始,逐个遍历到最前。
这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。
传给这两个方法的函数接收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

你可能感兴趣的:(js数组迭代方法与归并方法)