js数据类型 ——引用类型(Array).1/3
js数据类型 ——引用类型(Array).2/3
八.迭代方法
ECMAScript5引入5个迭代方法( IE9+)
接收2个参数,要在每一项上运行的函数和运行该函数的作用域对象
(可选)。
传入的函数会接收3个参数,数组项的值、该项的位置、数组本身。
- every() 对数组中每一项运行给定的函数,如果每一项都返回true,则返回true
- some()对数组中每一项运行给定的函数,如果有一项都返回true,则返回true
- filter()对数组中每一项运行给定的函数,返回一个数组,数组由函数运行后返回true的各个项组成
- map()对数组中每一项运行给定的函数,返回一个数组,数组由函数的运行结果组成
- forEach()对数组中每一项运行给定的函数,无返回,本质与用For循环一样
var arr=[1,2,3,4];
var arrEvery=arr.every(function(item,index,array){return (item>2)});
alert(arr2); //false
var arr=[1,2,3,4];
var arr2=arr.map(function(item,index,array){return item*2});
alert(arr2); //[2,4,6,8]
九.归并方法
ECMAScript5引入2个归并方法( IE9+)
两个函数都接收2个参数,在每一项上调用的函数、(可选)归并基础的初始值。
被调用的函数接收4个参数,前一个值prev,当前值cur,项的索引index,数组对象array
- reduce() 第一项开始,向后到最后一项
- reduceRight()最后一项开始,向前到第一向
var num=[1,2,3,4,5]
var sum=num.reduce(function(prev,cur,index,array){
return prve + cur
});
alert(sum);//15
第一次调用函数,prev=1,cur=2
第二次调用函数,prev=3(1+2),cur=3
……