在 ECMAScript 2019 中,新加入了一个非常实用的方法 Object.fromEntries()
,该方法可以将一个二维数组转换为一个对象。本文将详细介绍 Object.fromEntries()
的用法,以及如何在实际开发中应用它。
语法
Object.fromEntries()
的语法如下:
Object.fromEntries(iterable)
其中,iterable
是一个可迭代对象,它应该是一个二维数组,每个元素都是一个键值对数组 [key, value]
。
示例
下面是一个简单的示例,展示如何使用 Object.fromEntries()
创建一个对象:
const entries = [ ['foo', 'bar'], ['baz', 42] ]; const obj = Object.fromEntries(entries); console.log(obj); // { foo: "bar", baz: 42 }
在上面的示例中,我们首先创建了一个二维数组 entries
,每个元素都是一个键值对数组。然后,我们使用 Object.fromEntries()
将 entries
转换为一个对象 obj
。
应用场景
Object.fromEntries()
可以用于将一个二维数组转换为一个对象,这在实际开发中非常有用。例如,我们可以使用 Object.entries()
方法获取一个对象的键值对数组,然后再使用 Object.fromEntries()
方法将其转换为一个新的对象。
下面是一个示例,展示如何使用 Object.fromEntries()
将一个对象的属性名和属性值反转:
-- -------------------- ---- ------- ----- --- - - ---- ------ ---- -- -- ----- ------- - -------------------- ----- --------------- - ------------------ ------- -- ------- ------ ----- ----------- - ------------------------------------ ------------------------- -- - ---- ------ --- ----- -
在上面的示例中,我们首先创建了一个对象 obj
,它有两个属性 foo
和 baz
。然后,我们使用 Object.entries()
方法获取 obj
的键值对数组 entries
。接下来,我们使用 map()
方法将 entries
中的每个元素反转,然后使用 Object.fromEntries()
方法将其转换为一个新的对象 reversedObj
。
注意事项
需要注意的是,Object.fromEntries()
方法在不支持该方法的旧版浏览器中无法使用。如果需要在旧版浏览器中使用该方法,可以使用 polyfill 或者手动实现该方法。
总结
Object.fromEntries()
方法是 ECMAScript 2019 中的一个实用方法,它可以将一个二维数组转换为一个对象。在实际开发中,我们可以使用 Object.fromEntries()
方法将一个对象的键值对数组转换为一个新的对象,或者将一个二维数组转换为一个对象。需要注意的是,该方法在不支持该方法的旧版浏览器中无法使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6512b0d295b1f8cacdb33976