简介
every()方法用于检测数组中所有元素是否都符合指定条件,若符合返回true,否则返回false;不会对空数组进行检测,不会改变原来的数组。
some()方法用于检测数组中的元素是否有满足指定条件的,若满足返回true,否则返回false;不会对空数组进行检测,不会改变原来的数组。
map() 方法返回一个新数组,新数组中的每一个元素为原始数组对应每一个元素调用函数处理后的值;不会对空数组进行编辑,不会改变原来的数组。
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
1、every()
语法
array.every(function(item,index,array){})
// item:当前元素的值;
// index:当前元素的索引;
// array:当前元素的数组对象;
例子
// 数组中所用的值都大于10 var ages = [32, 33, 12, 40]; var age = ages.every((val,ind)=>{ return val>10; }) console.log(age)// true
2、some()
语法
array.some(function(item,index,array){})
// item:当前元素的值;
// index:当前元素的索引;
// array:当前元素的数组对象;
例子
// 数组中存在值都大于35 var ages = [32, 33, 12, 40]; var age = ages.every((val,ind)=>{ return val>35; }) console.log(age)// true
3、some()
语法
array.map(function(item,index,array){})
// item:当前元素的值;
// index:当前元素的索引;
// array:当前元素的数组对象;
例子
// 对原数组的每个值都平方 var numbers = [2, 3, 4, 5]; var double = numbers.map((val,ind) => { return val*val }); console.log(double) //[4, 9, 16, 25]
4、filter()
语法
array.filter(function(currentValue,index,arr), thisValue)
// currentValue 必须。当前元素的值
// index 可选。当前元素的索引值
// arr 可选。当前元素属于的数组对象
// thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined"
例子
// 找出原数组中值大于10的项 var numbers = [2, 13, 10, 5,20]; var double = numbers.filter((val,ind) => { return val>10 }); console.log(double) //[13, 20]