我最喜欢的 3 个 JavaScript 数组方法
JavaScript 是一门用途极其广泛的语言。我非常喜欢它,而且它近年来也取得了长足的进步。现在,我们可以用 JavaScript 构建功能强大的单页应用,而构建这些应用时,你总会用到数组。
我喜欢数组,这里是我经常使用的三种 JavaScript 方法。
1. 数组过滤器
这实际上是 ES5 中新增的一个方法,但我仍然经常使用它。数组过滤器基本上可以实现它的功能。它根据我们提供的规则将数组过滤为子集。
为此,只需调用数组的 filter 方法并传递一个回调即可。例如,在这个数组中,我过滤了结果,只返回年龄小于 18 岁的对象。
const people = [
{ name: 'Jon', age: 23 },
{ name: 'Daenerys', age: 23 },
{ name: 'Arya', age: 17 }
]
const children = people.filter(person => person.age < 18)
// Returns [ { name: 'Arya', age: 17} ]
2. 数组查找
这是 ES6 规范中新增的功能。它类似于数组的 filter 方法,但会返回过滤后的数组中的第一个结果。
对于此方法,我们再次传递一个回调,其中包含过滤器的规则。然后,它将过滤结果并返回子集中的第一个项目。在本例中,我想在 people 数组中找到第一个成年人。
const people = [
{ name: 'Jon', age: 23 },
{ name: 'Daenerys', age: 23 },
{ name: 'Arya', age: 17 }
]
const adult = people.find(person => person.age >= 18)
// Returns { name: 'Jon', age: 23 }
您会注意到,这次它返回的是对象,而不是包含对象的数组。
3. 数组 ForEach
forEach 方法早在 ES5 中就已引入,因此得到了众多浏览器的支持。然而,我仍然看到一些代码中没有使用 forEach 方法,而是使用了 for 循环。
forEach 方法正如您所想,它会循环遍历数组中的每个元素,以便您对其执行回调。这与 map 方法类似,但有一个关键区别。使用数组 map 时,它会根据您传递的回调返回一个新数组。而 forEach 方法则不返回任何内容。
map 和 forEach 方法都有各自的用例。但如果我不打算操作数组,我通常会使用 forEach 方法。
在下面的例子中,我只是在数组上调用 forEach 方法并将对象传递给自定义函数。
const people = [
{ name: 'Jon', age: 23 },
{ name: 'Daenerys', age: 23 },
{ name: 'Arya', age: 17 }
]
people.forEach(person => sendNotification(person))
结论
好了,这就是我最喜欢的三种数组方法。别误会,还有很多其他非常有用的数组方法,我恳请你去查一下。但这三种是我最喜欢的,也是我最常用的三种。
你有什么常用的数组方法吗?一定要告诉我。
文章来源:https://dev.to/georgehanson/my-top-3-javascript-array-methods-5co9