JavaScript数组的那些事儿
avaScript中的数组是其中重要的一部分,它提供了很多种操作数组的方法。当涉及到遍历一个数组、查找元素、排序或任何你想要的东西时,JavaScript都可能有一个数组方法可提供给我们使用。然而,尽管它们都很有用,但其中一些知识点仍然不那么为人所知和使用。在这篇文章中将会介绍一些方法,让你在使用数组的时候变得更轻易。甚至可以将接下来的内容当作是JavaScript数组方法的使用指南。
要点
在处理数组时,你需要知道四件件:map、filter、reduce和Spread操作符。它们强大而有用。
map
你会经常使用到它。基本上,每次你需要修改数组的元素时都首先会想到使用map。
map()方法会创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
filter
当你想过滤一个数组时可以使用filter。就像map一样,它接受一个函数作为唯一的参数,该参数在数组的每个元素上调用。这个函数需要返回一个布尔值:
true:元素将保留在数组中
false:元素不会保留在数组中
最终返回结果也会得到一个新数组,该新数组中保留了你想要留下的元素。比如下面这个示例,只希望在新数组中保留原数组数中的奇数:
reduce
reduce是数组提供的方法中最难理解的方法,但一旦掌握了该方法,可以做的事情就很多。reduce会取一个数组中的值并将它们合成一个值。它接受两个参数,一个回调函数(reducer函数)和一个可选的初始值(默认情况是数组的第一项)。reducer本身有四个参数:
累计器:它在reducer中累加返回值
数组的当前值
当前索引值
源数组
您的 reducer 函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。大多数情况下,只需要使用前两个参数:累计器 和 当前值。