首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用new Map() - javascript映射单键多个值

使用new Map() - javascript映射单键多个值
EN

Stack Overflow用户
提问于 2018-07-02 15:37:02
回答 5查看 13.8K关注 0票数 4

我需要使用Map()将单个键与多个值进行映射。但是我的价值观一直在被重写。帮助。

代码语言:javascript
复制
var myMap = new Map();

myMap.set("1","A");
myMap.set("1","B");

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-07-02 15:42:15

代码语言:javascript
复制
 var myMap = new Map();

 myMap.set("1",["A"]);
 myMap.set("1",["B", ...myMap.get('1')]);
票数 5
EN

Stack Overflow用户

发布于 2018-07-02 15:44:46

您可以将一个映射的键的多个值作为一个Set

代码语言:javascript
复制
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]]));

票数 4
EN

Stack Overflow用户

发布于 2018-07-02 15:40:45

Map数据结构是键/值存储。单个键映射到单个值。因此,如果您想要多个,则必须更改该值:

代码语言:javascript
复制
var myMap = new Map();

myMap.set("1",["A","B"]);

使用如上所述的值数组,以便让Map使用键"1"映射到多个值。

在OP中对set的第二次调用将覆盖第一个值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51131176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档