我需要使用Map()将单个键与多个值进行映射。但是我的价值观一直在被重写。帮助。
var myMap = new Map();
myMap.set("1","A");
myMap.set("1","B");
发布于 2018-07-02 15:42:15
var myMap = new Map();
myMap.set("1",["A"]);
myMap.set("1",["B", ...myMap.get('1')]);
发布于 2018-07-02 15:44:46
您可以将一个映射的键的多个值作为一个Set
。
function setValue(map, key, value) {
if (!map.has(key)) {
map.set(key, new Set(value));
return;
}
map.get(key).add(value);
}
var myMap = new Map();
setValue(myMap, "1", "A");
setValue(myMap, "1", "B");
console.log(Array.from(myMap.entries(), ([k, v]) => [k, [...v]]));
发布于 2018-07-02 15:40:45
Map
数据结构是键/值存储。单个键映射到单个值。因此,如果您想要多个,则必须更改该值:
var myMap = new Map();
myMap.set("1",["A","B"]);
使用如上所述的值数组,以便让Map
使用键"1"
映射到多个值。
在OP中对set
的第二次调用将覆盖第一个值。
https://stackoverflow.com/questions/51131176
复制相似问题