如何将项目推入数组的es6 Map对象值中?

时间:2020-01-18 12:21:20

标签: javascript ecmascript-6

let exampleMap = new Map([
  ['example key', ['item in array 1', 'item in array 2']]
]);

我可以使用set用字符串替换字符串:

exampleMap.set('example key', 'new string replacing the array');

但是如何将另一个字符串push插入数组值,以便得到:

['example key', ['item in array 1', 'item in array 2', 'item in array 3']]

2 个答案:

答案 0 :(得分:1)

您可以只使用常规的推送方法

exampleMap.get("example key").push('item in array 3');

console.log(exampleMap.get("example key")); // ['item in array 1', 'item in array 2', 'item in array 3']

因为数组被引用。这意味着传递的不是值,而是引用

答案 1 :(得分:1)

地图已设置并获取

您无法真正“推送”到地图,因为它是一对唯一的键值,您可以做的是exampleMap.set('key','value'),它将成为最后一个元素。

您可以做的是exampleMap.get('example key')。push('element); //首先获取数组,然后对其进行修改。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map