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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容