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>7;
});
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>5;
});
console.log(result) // [6,7,8]
forEach():对数组中每一项运行给定函数,没有返回值
var ary=[1,2,3,4,5,6,7,8];
var a=ary.forEach(function(item){
console.log(item*2);
});
//没有返回值
ES5这五种迭代方法中返回新数组的有两种方法,它们是:1.map() ; 2.filter() ;
网友评论