当前位置: 首页 > 工具软件 > Map Index > 使用案例 >

typeScript中map和filter使用方法与区别

易书
2023-12-01

首先,这两个方法map()和filter()都是对调用他们的数组进行遍历。

那么我们在项目中,什么情况下使用map(),又在什么情况下使用filter()呢?在了解这个问题之前,我们需要知道的是他们区别在哪儿?
1、map()的使用方法:

arr.map((item,index,array)=>{……})

2、filter()的使用方法:

arr.filter((item,index,array)=>{……})

都是将函数写在方法的括号里,参数也一样,
行参的参数说明:

  • item:当前处理的元素
  • index:当前处理元素的索引
  • array:调用map或者filter方法数组本身

下面我们举一个例子:

let arr=[3,5,17,15,4,14];

let res1=arr.map((item,index,array)=>{
  // return array[index]; //用这种方法也可以获取到当前处理的元素
  return item>5;
});
console.log(res1)//[ false, false, true, true, false, true ]

map()方法返回的结果是:[ false, false, true, true, false, true ]

也就是说符合条件或者不符合条件的,都将boolean类型值返回给到新的数组

let arr=[3,5,17,15,4,14];

let res2=arr.filter((item,index,array)=>{
  return item>5;
});

console.log(res2) //[ 17, 15, 14 ]

filter()方法返回的结果是:[ 17, 15, 14 ]

也就是说符合条件就会把值返回到新的数组中

区别:

可以看到,
map() 的结果只是对当前元素调用函数后,将符合条件boolean类型值返回给到新的数组
filter() 会将结果为true的数组值存到新的数组里面。

 类似资料: