every();some();filter();map();forEach()各自区别:
(1)every()方法:(返回值为boolean类型)
对数组每一项都执行测试函数,知道获得对指定的函数返回false的项。对数组每一项元素执行测试函数,如果函数返回false就计算终止,并输出false,后面的元素即使也满足测试函数,也不会在执行;(通俗的说只要有一项返回false就输出false,后面不再计算,都满足测试函数即每一项都返回true,最终输出才为true)
(2)some()方法:(返回值为boolean类型)
对数组的每一项都执行测试函数,直到获得返回true的项;(通俗说对数组每一项都执行测试函数,只要有一个元素返回true就终止执行,并输出true,如果都为false则返回false)
(3)filter()方法:(返回新数组,并且该数组是返回值为true的元素的集合)
对数组的每一个元素都执行一次测试函数,最后返回每次元素执行测试函数后的返回值为true的元素集合;
(4)map()方法:(返回新数组)返回每个元素返回值的集合;
(5)forEach()方法:对每个元素数组都执行一次函数,无返回值,break和return无效;可以通过document和console.log输出;
(6)reduce()方法:一般可以用于对数组的求和;
格式为: reduce(function(preValue,curValue,index,array),initialValue);
preValue:首先第一次调用回调函数时为初始值,后面的调用传入的值均为上一次调用回调函数返回的值;
给定initialValue时,initialValue代表传入函数的第一个参数即preValue值,curValue代表数组第一个元素值,index代表curValue的索引值;
没有给定initialValue时, preValue代表数组的第一个元素值,curValue代表数组第二个元素值,index代表curValue的索引值;