JS中map、some、every、filter⽤法区别
every()⽅法⽤于检测数组中所有元素是否都符合指定条件,若符合返回true,否则返回false;不会对空数组进⾏检测,不会改变原来的数组。
some()⽅法⽤于检测数组中的元素是否有满⾜指定条件的,若满⾜返回true,否则返回false;不会对空数组进⾏检测,不会改变原来的数组。
map() ⽅法返回⼀个新数组,新数组中的每⼀个元素为原始数组对应每⼀个元素调⽤函数处理后的值;不会对空数组进⾏编辑,不会改变原来的数组。
filter() ⽅法创建⼀个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
1、every()
语法:array.every(function(item,index,array){})
// item:当前元素的值;
// index:当前元素的索引;
// array:当前元素的数组对象;
demo:
// 数组中所⽤的值都⼤于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:当前元素的数组对象;
demo:
// 数组中是否存在⼤于30的值
var ages =[32,33,12,40];
filter过滤对象数组var age = ages.some((val,ind)=>{
return val>30;
})
console.log(age)// true
3、map()
语法:array.map(function(item,index,array){})
// item:当前元素的值;
// index:当前元素的索引;
// array:当前元素的数组对象;
demo:
// 对原数组的每个值都平⽅
var numbers =[2,3,4,5];
var double = numbers.map((val,ind)=>{
return val*val
});
console.log(numbers )// [2, 3, 4, 5]
console.log(double )// [4, 9, 16, 25]
4、filter()
语法:array.filter(function(currentValue,index,arr), thisValue)
// currentValue 必须。当前元素的值
// index 可选。当前元素的索引值
// arr 可选。当前元素属于的数组对象
// thisValue 可选。对象作为该执⾏回调时使⽤,传递给函数,⽤作 “this” 的值。如果省略了 thisValue ,“this” 的值为“undefined”
demo:
// 出原数组中值⼤于10的项
var numbers =[2,13,10,5,20];
var double = numbers.filter((val,ind)=>{
return val>10
});
console.log(double)//[13, 20]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论