S1 :数组迭代方法

ECMAScript 5 还新增了两个归并数组的方法:reduce()和reduceRight()。这两个方法都会迭
代数组的所有项,然后构建一个最终返回的值。其中,reduce()方法从数组的第一项开始,逐个遍历
到最后。而reduceRight()则从数组的最后一项开始,向前遍历到第一项。
这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。传
给reduce()和reduceRight()的函数接收4 个参数:前一个值、当前值、项的索引和数组对象。这
个函数返回的任何值都会作为第一个参数自动传给下一项。第一次迭代发生在数组的第二项上,因此第
一个参数是数组的第一项,第二个参数就是数组的第二项。
使用reduce()方法可以执行求数组中所有值之和的操作,比如:

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
    return prev + cur;
});
alert(sum); //15
时间: 2024-11-10 05:14:18

S1 :数组迭代方法的相关文章

数组迭代方法和类数值

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

数组迭代方法—every、filter、forEach、map、some

ECMAScript5为数组定了5个迭代方法.每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值.传入这些方法中的函数会接收三个参数:数组项的值.该项在数组中的位置和数组对象本身.根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响访问的返回值.以下是这5个迭代方法的作用. every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true. var numbers = [1,2,3,4,5,6,7,8];

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

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.

js iterate数组迭代方法

var array = new Array("a","b","c"); array.every(function(item, index, array){ return (item == "a");}); every()     ——回调函数对每一项都返回true,则返回true some() ——回调函数对任一项返回true,则返回true filter()  ——回调函数对某些项返回true,则返回该项 forEach()

数组的迭代方法之every,some,filter,map,forEach

//数组的迭代方法 var number = [1, 2, 3, 4, 5, 4, 3, 2, 1]; var everyResult = number.every(function(item, index, array){ return (item > 2); }); console.log(everyResult); var someResult = number.some(function(item, index, array){ return (item > 2); }); conso

一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some

好吧,竟然不能单发一张图,不够200字啊不够200字! 在<JavaScript高级程序设计>中,分门别类介绍了非常多数组方法,其中迭代方法里面有6种,这6种方法在实际项目有着非常广泛的作用.其中本人最爱用forEach和map,好用又高效,不用什么都是for循环大法.但是初学的时候往往觉得头大,这些方法都很像,到底有什么区别?趁着今天有空,我把对着6个方法的认知,用最浅显的图画出来,希望看到的同学觉得有用.