filter 和 map 的异同

filter是满足条件的留下,是对原数组的过滤;map则是对原数组的加工,映射成一一映射的新数组
filter()

Filter() 创建一个新数组,新数组中返回的值为经过检查指定数组中满足条件的所有元素。

⚠️filter 不会改变原数组
⚠️filter 不会对空数组进行检测

语法
array.filter(function(currentValue,index,arr), thisValue)

举个🌰:

过滤得到数组中大于10的值

[10,20,30,40].filter((item) => item > 10)

结果:

[20, 30, 40]

map()

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

⚠️map 不会改变原数组
⚠️map 不会对空数组进行检测

语法

array.map(function(currentValue,index,arr), thisValue)

举个🌰:
获取数组的平方根

[4, 9, 16, 25].map((item) => Math.sqrt(item))

结果:

[2, 3, 4, 5]

总结
  • 相同点:filter 和 map 都是对数组的操作,均返回一个新的数组
  • 不同点:filter是满足条件的留下,是对原数组的过滤;map则是对原数组的加工,映射成一一映射的新数组
posted @ 2022-08-12 11:55  seven&night  阅读(965)  评论(0编辑  收藏  举报