ECMAScript为数组定义了5个迭代方法,每个方法接收两个参数:以每一项为参数运行的函数,以及可选的作为函数运行上下文的作用域对象(影响函数中 this 的值)。传给每个方法的函数接收 3个参数:数组元素、索引和数组本身。它们的功能又各有差别,现记录如下:
some():对数组每一项元素都运行传入的函数,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行。如果没有满足条件的元素,则返回false。
every():对数组每一项都运行传入的函数,如果每一项函数都返回 true,则这个方法返回 true。如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。用于检测数组所有元素是否都符合指定条件。
filter():对数组每一项都运行传入的函数,filter会根据函数中的筛选条件将返回的结果组成一个新的数组并返回,可用于过滤数组中的对象。
map():通过指定函数处理数组的每个元素,并返回处理后的新数组。
forEach():对数组每一项都运行传入的函数,没有返回值。