在前端开发中,处理数组是非常常见的操作。有时候我们需要对数组进行去重,以便更好地处理和呈现数据。在 ES11 中,引入了新的 Object.fromEntries
方法,可以用来方便地实现数组去重。
Object.fromEntries 方法简介
这个方法可以接收一个key-value数组(二维数组)并返回一个新的对象,其中数组的每一项都会被当作一个键值对。例如:
const entries = [ ['a', 1], ['b', 2], ['c', 3] ]; const obj = Object.fromEntries(entries); console.log(obj); // { a: 1, b: 2, c: 3 }
数组去重实现
根据 Object.fromEntries
方法的特性,我们可以将数组中所有元素都转换成键值对,将重复的元素覆盖掉只保留一个即可。具体代码如下:
-- -------------------- ---- ------- -------- ----------- - ----- ------- - -------------- -- ------ ------- -- ------ ------- ------ ------ ----- --- - ---------------------------- -- ---- ------ ----------------- -- ------- - ----- --- - --- -- -- -- -- --- ----- ------- - ------------ --------------------- -- --- -- -- --
上述代码将数组 arr
中所有元素都转换为 [value, value]
形式的键值对,相当于将它们用自己作为键和值创建了一个对象。由于重复的元素会被覆盖掉,最终只保留了一个,从而实现了去重。
这种方法的好处是可以避免使用 for 循环和数组的一些基本方法,从而提高了代码的可读性和性能。
总结
ES11 的 Object.fromEntries
方法为数组去重提供了一个简单而强大的工具。它不仅可以减少代码量,提高可读性,而且还具有较好的性能表现。值得在平时的前端开发中尝试使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651b2f9a95b1f8cacd2e5bb9