every()、filter()、some()、forEach()、map() 这五个方法是ECMAScript5为数组定义的,有了这些方法,可以大大方便处理数组的任务。每个方法均可接收两个参数:在每一项上运行的函数和运行该函数的作用域对象(可选的),通过这个对象可改变this的值。 第一个参数的函数可以接收三个参数:数组的值、该项在数组中的位置和数组对象本身。下列介绍这五个方法的作用。
1、every():如果该函数对每一项都返回true,则返回true;
var arr = [1,3,50,23,5,6];
var result = arr.every(function(item,index,arr) {
return item >10;
});
console.log(result);//false,只有所有的项都满足时才返回true
2、filter():返回true的项所组成的数组;
var arr = [1,3,50,23,5,6];
var result1 = arr.filter(function(item) {
return item >10;
})
console.log(result1)//[50,23],返回所有符合条件组成的数组
3、forEach():对数组的每一项运行给定的函数,该方法没有返回值;
var arr = [1,3,50,23,5,6];
var result2 = arr.forEach(function(item) {//该项没有返回值
//执行某些操作
})
4、map():返回每次函数调用的结果所组成的数组;
var arr = [1,3,50,23,5,6];
var result4 = arr.map(function(item) {
return item *2;
})
console.log(result4);//[2,6,100,46,10,12]返回每项返回值组成的数组
5、some():如果返回的项中有一项为true,则返回true。
var arr = [1,3,50,23,5,6];
var result3 = arr.some(function(item) {
return item >10
})
console.log(result3);//true,只要有一项符合条件就返回true
网友评论