首页 > 解决方案 > 检查字符串是否包含在特定的 Map() 键中

问题描述

我有一张从 json 文件填充的地图,类似于下面

key: ConfigItem
value: Var1,Var2,Var3


key: ConfigItem2
value: Var1,Var2,Var3,var4


key: ConfigItem3
value: true

我希望能够运行 if 语句来检查值是否包含在“ConfigItem”键中,如果是,则执行某些操作。

我查看了 map.get 和 map.has,但我似乎无法弄清楚如何搜索特定键并在它包含特定值时返回。

标签: javascriptnode.jses6-map

解决方案


你似乎在寻找

const map = new Map([
    ["ConfigItem", ["Var1","Var2","Var3"]],
    ["ConfigItem2", ["Var1","Var2","Var3","var4"]],
    ["ConfigItem3", true],
]);

if (map.get("ConfigItem").includes("Var2")) {
    …
}

请注意,这只是使用Mapget访问ConfigItem键的数组值,然后使用普通的Arrayincludes方法来检查特定字符串是否包含在其中。


推荐阅读