数组的使用方法,大都是普通的循环for、for in、forEach等,今天推荐三个新的方法,在一些特殊场景可以有很大作用。虽然这三个新方法for循环都能实现,但是个人认为用着三个方法会相对简便。
Map:这个方法是一一对应的。
比如全班考试,判断及格还是不及格,如果用map,那么需要在方法里面return及格还是不及格,这时候就会返回一个新的数组。Map里面放一个方法,然后是一个参数,参数就是每一个数组的元素。记得map里面放的是一个方法。
var arr = [37, 88, 65, 96];
var re = arr.map(function (val) {
if(val > 60){
return '及格';
}else{
return '不及格';
}
});
console.log(re);//["不及格", "及格", "及格", "及格"]
Reduce:计算总数或者平均数,这个的话只返回一个数据。
比如要计算一个数组的总和或者平均数,同样的,reduce里面也是放一个方法,这个方法传三个参数,每一次循环第一个参数都是之前的总和,第二个参数是这次循环要加的数据,最后一个是循环的次数。
var arr = [2, 3, 4, 5];
var sum = arr.reduce(function (sum, item) {
return sum + item;
});
console.log(sum);//14
Filter:过滤、筛选,返回正确的东西。
当需要判断是否有某个字符串或者是某个元素的时候,用这个过滤器,很容易就能得到相要的数组,在天猫等商城,过滤价格好评等使用filter,简单的就能返回过滤后的数据。Filter也是放一个方法,然后里面做判断操作,只要是true的,那这个元素就会返回,false的就会帮你过滤掉。
var arr = [23, 63, 44, 85, 90];
var re = arr.filter(function (val) {
return val > 60;
});
console.log(re);//[63, 85, 90]
欢迎关注 Coding 个人笔记 公众号