如何使用 JavaScript 合并地图

使用 JavaScript 合并地图对象

How to merge Maps using JavaScript

要合并 Maps,请使用扩展运算符 (…) 将两个或多个 Maps 的值解包到一个数组中,并将它们传递给Map()构造函数,例如
new Map([...map1, ...map2]). 新的将包含来自所有提供的对象Map的键值对。Map

索引.js
const map1 = new Map([['name', 'Tom']]); const map2 = new Map([['age', 30]]); const map3 = new Map([...map1, ...map2]); // 👇️ {'name' => 'Tom', 'age' => 30} console.log(map3);

我们使用
扩展运算符 (…)
将 2 个对象的键值对解包
Map到一个数组中。

索引.js
const map1 = new Map([['name', 'Tom']]); // 👇️ [ ['name', 'Tom'] ] console.log([...map1]);

该数组包含由键值对组成的嵌套数组。

最后一步是将数组传递给
Map()
构造函数,该构造函数采用可迭代对象作为参数。

有了这些值,示例如下所示:

索引.js
const map3 = new Map([['name', 'Tom'], ['age', 30]])

可迭代对象Map必须由键值对组成,例如二维数组或另一个Map对象。

Map可以根据需要对尽可能多的对象重复此过程。

索引.js
const map1 = new Map([['name', 'Tom']]); const map2 = new Map([['age', 30]]); const map3 = new Map([['country', 'Chile']]); const map4 = new Map([...map1, ...map2, ...map3]); // 👇️ {'name' => 'Tom', 'age' => 30, 'country' => 'Chile'} console.log(map4);
请注意,键的插入顺序被保留。如果您需要重新排序键值对,只需切换使用展开运算符 (…) 的顺序即可。

进一步阅读

发表评论