如何将Map转换为JavaScript对象,反之亦然?
在使用Map
对象时,我们经常需要将其转换为普通的JavaScript对象,或者反过来。当您需要将Map
的键值对用作对象,或者反之亦然时,这将非常有用。
将Map转换为对象
使用Map.prototype.entries()
,我们可以将Map
转换为键值对数组。然后,我们可以使用Object.fromEntries()
将数组转换为对象。
const mapToObject = map => Object.fromEntries(map.entries());
mapToObject(new Map([['a', 1], ['b', 2]])); // {a: 1, b: 2}
将对象转换为Map
类似地,使用Object.entries()
,我们可以将对象转换为键值对数组。然后,我们可以使用Map()
构造函数将数组转换为Map。
const objectToMap = obj => new Map(Object.entries(obj));
objectToMap({a: 1, b: 2}); // Map {'a' => 1, 'b' => 2}