数组的迭代方法:
ES5中为数组定义了五种迭代方法:
传入方法中的函数会接受三个参数:1.数组项的值 2. 该项在数组的中位值 3. 数组对象本身;
-
every()
:对数组中的每一项运行给定函数,如果每一项都返回true
,则返回true
,否则false
; -
some()
:对数组中的每一项运行给定函数,如果至少有一项返回true
,则返回true
,否则false
;
var ary=[1,2,3,4,5,6,7,8];
//every:
var a=ary.every(function(item){
return item>2;
});
console.log(a); //false
//some():
var ary=[1,2,3,4,5,6,7,8];
var a=ary.some(function(item){
return item>2;
});
console.log(a); //true
-
map()
:对数组中的每一项给定函数,返回每一项调用这个函数的结果;
var ary=[1,2,3,4,5];
var a=ary.map(function(item){
return item*2;
});
console.log(a); // 结果为 [2,4,6,8,10]
-
filter()
:对数组的每一项运行给定的函数。返回该函数会返回true的项组成的数组。
var ary=[1,2,3,4,5,6,7,8];
var result=ary.filter(function(item){
return item>3;
});
console.log(result) [4,5,6,7,8]
-
forEach()
:对数组中每一项运行给定函数,没有返回值
var ary=[1,2,3,4,5,6,7,8];
var a=ary.forEach(function(item){
console.log(item*3);
});
console.log(a)
输出结果如下: