在 ES10 中,新增了一个非常实用的方法,即 Object.fromEntries()
。这个方法可以将一个由键值对数组构成的数组转换为一个对象,使得对象的构造更加方便。本文将介绍 Object.fromEntries()
的用法,并且通过示例代码来展示它在对象构造中的应用。
Object.fromEntries() 的用法
Object.fromEntries()
接受一个由键值对数组构成的数组作为参数,并返回一个对象。数组中的每个元素都应该是一个长度为 2 的数组,第一个元素表示键,第二个元素表示值。示例如下:
const arr = [['a', 1], ['b', 2], ['c', 3]]; const obj = Object.fromEntries(arr); console.log(obj); // {a: 1, b: 2, c: 3}
如果数组中的元素不是长度为 2 的数组,或者键不是字符串类型,那么 Object.fromEntries()
方法将会抛出错误。
Object.fromEntries() 在对象构造中的应用
Object.fromEntries()
方法可以非常方便地将由键值对数组构成的数组转换为对象。这个特性可以在对象构造中非常有用。例如,如果你想要从一个数组中生成一个对象,其中数组的每个元素都是一个对象,那么使用 Object.fromEntries()
方法可以非常方便地实现这个功能。示例如下:
-- -------------------- ---- ------- ----- --- - - - ---- ---- ------ - -- - ---- ---- ------ - -- - ---- ---- ------ - - -- ----- --- - ----------------------------- ---- ----- -- -- ----- --------- ----------------- -- --- -- -- -- -- --展开代码
另一个使用 Object.fromEntries()
方法的例子是,将对象的键值对进行反转。示例如下:
const obj = { a: 1, b: 2, c: 3 }; const reversedObj = Object.fromEntries( Object.entries(obj).map(([key, value]) => [value, key]) ); console.log(reversedObj); // {1: 'a', 2: 'b', 3: 'c'}
总结
Object.fromEntries()
方法是 ES10 中新增的一个非常实用的方法,可以将由键值对数组构成的数组转换为对象,使得对象的构造更加方便。本文介绍了 Object.fromEntries()
方法的用法,并通过示例代码展示了它在对象构造中的应用。希望本文能够帮助你更好地了解和使用 Object.fromEntries()
方法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65c94e33add4f0e0ff314ed9