迭代方法
定义了5个迭代方法,接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值;传入这些方法的函数会接收三个参数:数组项的值、该项在数组中的位置、数组对象本身。
every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true;
filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组;
forEach():对数组中的每一项运行给定函数,无返回值;
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组;
some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。
用途:
every()和some()用于查询数组中的项是否满足某个条件;
filter()多用于查询符合某些条件的所有数组项;
map()适合创建包含的项与另一个数组一一对应的数组;
归并方法
reduce()和reduceRight()都会迭代数组中的所有项,然后构建一个最终返回的值;前者从第一项遍历到最后,后者从最后一项遍历到第一项。
两方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。
传给reduce()和reduceRight()的函数接收4个参数:前一个值、当前值、项的索引和数组对象。