数组迭代方法—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

原文地址:https://www.cnblogs.com/zmyxixihaha/p/10914176.html

时间: 2024-10-06 19:13:30

数组迭代方法—every、filter、forEach、map、some的相关文章

Array 的五种迭代方法 -----every() /filter() /forEach() /map() /some()

ES5定义了五个迭代方法,每个方法都接收两个参数:要在每一项上运行的函数和运行该函数的作用域对象(可选的),作用域对象将影响this的值.传入这些方法中的函数会接收三个参数:数组的项的值.该项在数组中的位置和数组对象本身. 1.every() 和 some() every()是对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true. some()是对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true. every()和some()很相似,他们都用于

数组迭代方法和类数值

数组的迭代方法有every,some,forEach,fliter,map. 每个方法的参数是一个函数,函数的第一个参数是数组项,第二个参数是数组项的索引,第三个参数是数组本身 every方法对数组的每一项执行给定函数,如果每一项的执行结果都为true,则返回true; 1 //用every方法检测数组的每一项是否都是偶数,是则返回true,不是则返回false 2 function testEvery(){ 3 var a=[1,2,5,0,3,9]; 4 var result= a.ever

JS 数组迭代方法

js中数组迭代方法有五种 some() , every(), filter(), forEach(),map(),传入这些方法的函数会接收三个参数(数组项的值,该项在数组中的位置,数组对象本身) var items = [9,67,34,25,56]; //如果items中的所有项都大于9返回true否则返回false 全部满足条件才行 var everyResult = items.every(function(item,index,array){ return (item>9); }); a

数组迭代方法

常用的数组迭代方法,很多人第一想到的就是for循环,比如需要迭代出下面数组peoples年龄(age)大于30的人名(name). 1 var peoples = [ { 2 name: 'Agraj', 3 gender:'M', 4 age: 29, 5 address: { 6 city: 'Delhi', pincode: '110064' 7 } 8 }, { 9 name: 'Mark', 10 gender:'M', 11 age: 35, 12 address: { 13 cit

JavaScript中数组迭代方法(jquery)

var arr = [1,2,4,5,6]; //1.forEach(让数组中的每一项做一件事)arr.forEach(function(item,index){    console.log(item);    //1,2,4,5,6}); //2.map(让数组通过某种计算产生一个新数组)var newArr = arr.map(function(item,index){    return item*2;});console.log(newArr);//[2,4,8,10,12] //3.

S1 :数组迭代方法

ECMAScript 5 还新增了两个归并数组的方法:reduce()和reduceRight().这两个方法都会迭代数组的所有项,然后构建一个最终返回的值.其中,reduce()方法从数组的第一项开始,逐个遍历到最后.而reduceRight()则从数组的最后一项开始,向前遍历到第一项.这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值.传给reduce()和reduceRight()的函数接收4 个参数:前一个值.当前值.项的索引和数组对象.这个函数返回的任何

数组方法重写:forEach, map, filter

Array.prototype.myForEach = function(fn) { var arr = this, len = arr.length, arg2 = arguments[1] || window; for(var i = 0; i < len; i++) { fn.apply(arg2, [arr[i], i, arr]); } }; Array.prototype.myFilter = function(fn) { var arr = this, len = arr.leng

js数组中indexOf/filter/forEach/map/reduce详解

今天在网上看到一篇帖子,如题: 出处:前端开发博客 (http://caibaojian.com/5-array-methods.html) 在ES5中一共有9个Array方法,分别是: Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.prototype.some Array.prototype.forEach Array.prototype.map Array.prototype.f

js基础之数组迭代方法

Array.forEach() forEach() 方法为每个数组元素调用一次函数(回调函数). var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; } Array.map() map() 方法通过对每个数组元素执行函数来创建新数组. map