javascript高级程序设计-Array迭代及归并
迭代方法
every()
如果该函数对每一项都返回true,则返回true,否则返回false。
var numbers = [1,2,3,4,3,2,1];
var everyResult = numbers.every(function(item,index,array){
return (item > 2);
});
alert(everyResult); //result为false
some()
如果该函数对任意一项返回true,则返回true。
var numbers = [1,2,3,4,3,2,1];
var everyResult = numbers.some(function(item,index,array){
return (item > 2);
});
alert(everyResult); //result为true
filter()
该函数返回的是所有为ture的项组成的数组。
var numbers = [1,2,3,4,3,2,1];
var everyResult = numbers.filter(function(item,index,array){
return (item > 2);
});
alert(everyResult); //result为3,4,3
map()
该函数返回函数调用结果组成的数组。
var numbers = [1,2,3,4,3,2,1];
var everyResult = numbers.map(function(item,index,array){
return (item * 2);
});
alert(everyResult); //result为2,4,6,8,6,4,2
forEach()
该函数只是用于遍历,没有返回值。
var numbers = [1,2,3,4,3,2,1];
var everyResult = numbers.map(function(item,index,array){
//执行某些操作
});
归并方法
reduce()
从数组的第一项开始,迭代数组的所有项,构建一个最终的返回值。
var numbers = [1,2,3,4,5];
var sum = numbers.reduce(function(prev,cur,index,array){
return prev + cur; //该结果会作为下一次迭代的prev
})
alert(sum); //rusult为15
reduceRight()
从数组的最后一项开始,迭代数组的所有项,构建一个最终的返回值。
var numbers = [1,2,3,4,5];
var sum = numbers.reduceRight(function(prev,cur,index,array){
return prev + cur; //该结果会作为下一次迭代的prev
})
alert(sum); //rusult为15