在日常的前端开发过程中,数组和对象的操作是非常常见的。为了有效地操作这些数据类型,我们需要经常使用检索操作。而在 ECMA 提供的新版本 ECMAScript 2019(ES10)中,新增了一些语法,使得数组和对象的检索更加方便和高效。
数组
Array.prototype.flat()
在开发中,我们经常要处理嵌套数组 (nested array)。使用 forEach()
和 map()
不能很好的处理这种情况。ES10 新增的 Array.prototype.flat()
方法可以将嵌套的数组展开。它的使用方法如下:
--- --- - --- -- --- ---- --- ------- - ----------- -- ----- --- -- -- --
如果数组内有多层嵌套,比如 [[1, 2], [3, [4, 5]]]
,那么我们可以在 flat() 方法中传一个参数,代表要展开的嵌套层数。比如:
--- --- - ---- --- --- --- ----- --- ------- - ------------ -- ----- --- -- -- -- --
Array.prototype.flatMap()
flatMap()
方法是 Map()
和 flat()
的结合。它先对数组执行 map()
方法,然后再对返回的新数组执行 flat()
方法。这个方法可以将返回值为数组的函数结果展平为一个新数组。它的使用方法如下:
--- --- - --- -- -- --- --- ------- - ------------- -- -- - ---- -- ----- --- -- -- --
对象
Object.fromEntries()
Object.fromEntries()
方法是 Object.entries()
的逆操作。它接收一个数组参数,数组内是由键值对组成的数组。然后将这些 kv 数组变成对象并返回。使用方法如下:
--- ------- - --------- ------- ------- ----- --- --- - ---------------------------- -- -------- ------ ------ ---
Array.prototype.sort()
数组排序是一个非常常见的操作。在 ES10 中,sort 方法的排序支持了一项新特性:“稳定排序”。稳定排序是指,当排序后两个元素的值相等时,他们在数组中的顺序会千篇一律,不会发生变化。使用方法仍然是这样的:
--- --- - --- -- -- -- -- -- --- ------------ -- -- - - ---
总结
ES10 新增的这些数组和对象相关的方法,都能够帮我们更加快速方便地进行数据操作。在实际的开发中,可以灵活运用这些方法来提高代码质量和效率。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6473095a968c7c53b008f7e2