随着 JavaScript 的发展,数组是最常用的数据类型之一,因此在 ES12 中增加了一些新的数组方法,以便更好地处理数组数据。本文将介绍 ES12 中的新数组方法,并提供示例代码。
1. Array.prototype.at()
Array.prototype.at()
方法返回指定索引位置的元素值。与 Array.prototype[index]
不同的是,如果索引位置超出了数组的范围,Array.prototype.at()
方法将返回 undefined
,而不是抛出异常。
----- --- - ----- ---- ---- ----- ----------------------- -- --- ------------------------ -- --- ------------------------ -- ---------
2. Array.prototype.flatMap()
Array.prototype.flatMap()
方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。与 Array.prototype.map()
不同的是,Array.prototype.flatMap()
方法会将映射函数返回的数组压缩到一个新数组中,而不是在新数组中创建一个嵌套数组。
----- --- - --- -- -- --- ----- ------ - ------------- -- -- - ---- -------------------- -- --- -- -- --
3. Array.prototype.filter()
Array.prototype.filter()
方法返回一个新数组,其中包含通过指定函数测试的所有元素。与 Array.prototype.filter()
不同的是,Array.prototype.filter()
方法可以使用异步函数。
----- --- - --- -- -- --- ----- ------ - ---------------- - -- - ------ ----- ----------------- - - --- --- --- -------------------- -- --- --
4. Array.prototype.findLast()
Array.prototype.findLast()
方法返回数组中满足测试函数的最后一个元素的值。如果没有找到满足条件的元素,则返回 undefined
。
----- --- - --- -- -- -- --- ----- ------ - -------------- -- - - - --- --- -------------------- -- -
5. Array.prototype.findLastIndex()
Array.prototype.findLastIndex()
方法返回数组中满足测试函数的最后一个元素的索引。如果没有找到满足条件的元素,则返回 -1
。
----- --- - --- -- -- -- --- ----- ------ - ------------------- -- - - - --- --- -------------------- -- -
6. Array.prototype.reduceRight()
Array.prototype.reduceRight()
方法从数组的最后一个元素开始,向前遍历数组,并将数组元素减少为单个值。与 Array.prototype.reduce()
方法不同的是,Array.prototype.reduceRight()
方法从数组的末尾开始计算,而不是从开头开始计算。
----- --- - --- -- -- -- --- ----- ------ - --------------------- ---- -- --- - ----- -------------------- -- --
7. Array.prototype.reverse()
Array.prototype.reverse()
方法用于颠倒数组中元素的顺序。该方法会修改原始数组,而不是创建一个新的数组。
----- --- - --- -- -- -- --- -------------- ----------------- -- --- -- -- -- --
结论
ES12 中有许多新的数组方法可以帮助我们更好地处理数组数据。这些新方法包括 Array.prototype.at()
、Array.prototype.flatMap()
、Array.prototype.filter()
、Array.prototype.findLast()
、Array.prototype.findLastIndex()
、Array.prototype.reduceRight()
和 Array.prototype.reverse()
。这些新方法提供了更多的灵活性和便利性,可以大大提高我们的编程效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673d592bde2dedaeef398ec7