数组迭代方法—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
posted @ 2019-05-24 16:51  朝思暮想的虫  阅读(230)  评论(0编辑  收藏  举报