Skip to content

如何将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}