js数组的every、map、some、filter方法对比
es6里数组多了很多方法,很多时候我们可能有点不清楚之间的区别。本文给大家一一介绍了这些数组的方法
简介
- 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]
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论