Javascript 是否可以检查JS映射是否包含值并让它返回其键

Javascript 是否可以检查JS映射是否包含值并让它返回其键,javascript,arrays,dictionary,Javascript,Arrays,Dictionary,我试图找到一种方法来查看Map数组值,看看它是否存在,如果它确实将Map键作为变量返回。这让我有点为难,因为我不太会写javascript const map = new Map([ ["KEY1", ["dummy1","dummy2","dummy3"]], ["KEY2", ["dummy4","dummy5",&quo

我试图找到一种方法来查看Map数组值,看看它是否存在,如果它确实将Map键作为变量返回。这让我有点为难,因为我不太会写javascript

const map = new Map([
        ["KEY1", ["dummy1","dummy2","dummy3"]],
        ["KEY2", ["dummy4","dummy5","dummy6","dummy7"]],
        ["KEY3", ["dummy8","dummy9"]],
    ]);
假设我将dummy4作为一个变量,我想在map中查看,并在带有key2的值数组中看到它,然后通过以下循环将键返回到一个新变量sting“key2”

函数findValue(映射,值){
for(map.entries()的常数[k,arr]{
如果(包括(价值)){
返回k;
}
}
}
循环通过:

函数findValue(映射,值){
for(map.entries()的常数[k,arr]{
如果(包括(价值)){
返回k;
}
}
}

我这样做是为了搜索一个特定的值,这个值可能有很多术语,这可能不是最好的方法,基本上很多值都可以输入到一个输入中,但都只与一个输出相关

根据评论,我将推荐一种不同的方法来构建查找结构-

const术语=
[[“键1”,“dummy1”,“dummy2”,“dummy3”]]
,[“键2”、[“dummy4”、“dummy5”、“dummy6”、“dummy7”]
,[“键3”、[“dummy8”、“dummy9”]]
]
常量dict=
新映射(terms.flatMap([k,vs])=>vs.Map(v=>[v,k]))
console.log(dict.get(“dummy2”))
log(dict.get(“dummy5”))
log(dict.get(“dummy7”))
log(dict.get(“dummy9”))
console.log(dict.get(“dummy0”))

我这样做是为了搜索一个特定的值,这个值可能有很多术语,这可能不是最好的方法,基本上很多值都可以输入到一个输入中,但都只与一个输出相关

根据评论,我将推荐一种不同的方法来构建查找结构-

const术语=
[[“键1”,“dummy1”,“dummy2”,“dummy3”]]
,[“键2”、[“dummy4”、“dummy5”、“dummy6”、“dummy7”]
,[“键3”、[“dummy8”、“dummy9”]]
]
常量dict=
新映射(terms.flatMap([k,vs])=>vs.Map(v=>[v,k]))
console.log(dict.get(“dummy2”))
log(dict.get(“dummy5”))
log(dict.get(“dummy7”))
log(dict.get(“dummy9”))

控制台。日志(DITC.GET(“DUMYM0”))<代码> >代码> KE2不包含值<代码> KEY2<代码>。如果您对此进行了大量查找,需要快速查看,请考虑“反转”该结构。制作一个表格,表格的形式是
value=>key
。你能解释一下为什么要这样做吗?这完全违背了地图的使用方式。正是@tadman所说的。如果这是一次性的,或者出于调试目的,可能没问题,但是如果这是你期望使用映射的正常方式,或者如果操作出现在循环中,你应该重新考虑结构。我这样做是为了搜索一个可能包含许多术语的特定值,这可能不是最好的方式。基本上,我用很多值来输入一个输入,但都只与一个输出相关<代码> KE2不包含值<代码> KEY2。如果您对此进行了大量查找,需要快速查看,请考虑“反转”该结构。制作一个表格,表格的形式是
value=>key
。你能解释一下为什么要这样做吗?这完全违背了地图的使用方式。正是@tadman所说的。如果这是一次性的,或者出于调试目的,可能没问题,但是,如果这是你期望使用映射的正常方式,或者如果操作出现在循环中,你应该重新考虑结构。我这样做是为了搜索一个可能包含许多术语的特定值,这可能不是最好的方式。基本上,我用很多值来输入一个输入,但都只与一个输出相关满足OP的要求,但效率低下且不自然地使用Map这符合OP的要求,但效率低下且不自然地使用Map