ES9 的标准库:Object 的 fromEntries 方法

在 ECMAScript 2018(也就是 ES9) 中,JavaScript 给 Object 加入了一个新方法:fromEntries。这个方法可以将一个键值对数组转换为对象,该对象会包含这些键值对。该方法提供了更方便的方式来创建对象,尤其是针对那些需要一次性从多个源集合读取的数据。

语法

Object.fromEntries(iterable)

  • iterable:一个可迭代的对象,比如 Map、Set、Array 等,包含了键值对的数组。

应用示例

使用数组创建对象

使用 Map 对象创建对象

组合多种类型的对象

需要注意的是,如果 entries 的值中有相同的键名,则后面的键值会覆盖前面的键值。如下面这个示例:

注意事项

  • iterable 必须是一个可迭代的对象。如果传递的对象不是可迭代的对象,则会抛出一个 TypeError。

  • iterable 应该是一个包含键值对的数组,其中每个键值对都是数组的一个元素。如果某个键值对的元素数量不等于 2,则会以该键值对的 index 和 value 属性作为实际的键和值。如果键是一个对象,则 Object.toString() 方法会被调用进行转换。

  • 如果 iterable 中的元素中有任意部分丢失,则该方法运行结束并抛出 TypeError 。

总结

Object.fromEntries 提供了一种更方便的方式来创建对象,适用于那些需要从多个源集合快速读取数据的场景。需要注意的是,iterable 必须是包含键值对的数组,每个键值对都是一个数组元素。在实际应用时,我们可以使用这个特性来减少代码量和提高开发效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652a78547d4982a6ebccc171


纠错
反馈