js中filter和map的区别
介绍了这么多关于filter的内容,大家有没有发现filter和map在为数组中的每个元素调用一次 callback 函数,都是js数组的操作方法,那么filter和map有什么区别呢?其实区别就是filter会把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素,且数组元素不会发生改变。
1、filter
用于把Array的某些元素过滤掉,然后返回剩下的元素。
filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。
数组元素个数可能发生了改变,但是数组元素不会发生改变。
var arr = [1,2,3,4,5,6];function checknum(num){
return num >= 5 ;
}
var narr = arr.filter(checknum); //结果:narr = [5,6]
2、map
按照原始数组元素顺序依次处理元素,返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值。
数组元素个数不变,但是按照一定的条件转换,数组元素发生了变化。
let oldArr=[1,2];let myMethod=function(item){
return item*2;
};
let newArr=oldArr.map(myMethod);
console.log(newArr.valueOf());//[2,4]
以上就是js中filter和map的区别,希望能帮助你理解区分哦~更多学习教程:js教程。
以上是 js中filter和map的区别 的全部内容, 来源链接: utcz.com/z/542479.html