1 //迭代方法(ie9+、Firefox2+、Safiari3+、Opera9.5+和Chrome)
2 //--以下方法均不会修改数组的值
3 var arr = [1,2,3,4,5,4,3,2,1];
4
5 var everyResult = arr.every(function (item, index, array){
6 return (item > 2)
7 });
8 alert(everyResult); //全true为true
9
10 var someResult = arr.some(function (item, index, array){
11 return (item > 2)
12 });
13 alert(someResult); //一true为true
14
15 var filterResult = arr.filter(function (item, index, array){
16 return (item > 2)
17 });
18 alert(filterResult); //3,4,5,4,3 筛选符合条件的所有项
19
20 var mapResult = arr.map(function (item, index, array){
21 return (item * 10)
22 });
23 alert(mapResult); //对原始数组的每一项运行传入参数的结果
24
25 //这个方法没有返回值,本质上与使用for循环迭代数组一样
26 arr.forEach(function(item, index, array){
27 alert(item)
28 });
1 //归并方法(IE9+ Firefox3+ Safari4+ Opera10.5和Chrome)
2 // --两个方法都是迭代数组的所有项,然后构建一个最终返回的值
3 // --两个方法一样 只是遍历是从第一项到最后一项,还是从最后一项到第一项
4 var arr = [1,2,3,4,5]
5
6 var sum1 = arr.reduce(function (prev, cur, index, array){
7 alert(prev +"-"+ cur)
8 return prev + cur
9 });
10 alert(num1) //15
11
12 var sum2 = arr.reduceRight(function (prev, cur, index, array){
13 return prev + cur
14 });
15 alert(num2)
16
17 //具体原理实例可参考张大神 http://www.zhangxinxu.com/study/201304/array-reduce.html