数组迭代方法—every、filter、forEach、map、some
ECMAScript5为数组定了5个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值。传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响访问的返回值。以下是这5个迭代方法的作用。
every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。
var numbers = [1,2,3,4,5,6,7,8]; var result = numbers.every((item,index,array)=>{ return (item >2) }) console.log(result);//false
filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。
var numbers = [1,2,3,4,5,6,7,8]; var result = numbers.filter(item => { return (item > 2) }) console.log(result)//[3,4,5,6,7,8]
forEach():对数组中的每一项运行给定函数。这个方法没有返回值。
var numbers = [1,2,3,4,5,6,7,8]; numbers.forEach((item,index)=>{ //执行一些语句 })
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
var numbers = [1,2,3,4,5,6,7,8]; var result = numbers.map(item=>{ return item*2 }) console.log(result)//[2,4,6,8,10,12,14,16]
some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。(当某个元素符合条件时就结束循环)
var numbers = [1,2,3,4,5,6,7,8]; var result = numbers.some(item=>{ return item > 2 }) console.log(result)//true