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
posted @ 2014-10-17 08:58  空谷@幽兰  阅读(129)  评论(0编辑  收藏  举报