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

回到顶部