filter 和 map 的异同

filter()

Filter() 建立一个新数组,新数组中返回的值为通过检查指定数组中知足条件的全部元素。数组

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

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

举个🌰:this

过滤获得数组中大于10的值code

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

结果:it

[20, 30, 40]

map()

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

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

语法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则是对原数组的加工,映射成一一映射的新数组
相关文章
相关标签/搜索