Javascript 地图中的一个值可能有多个键?如果没有,怎么做?
我试图找出是否有一种方法可以在javaScript的映射中为一个值设置多个键。Mozilla上的应用程序似乎不建议这样做,所以我不确定。例如,我以字符串的形式从用户处获取输入,我希望将该字符串与具有相同名称的匹配对象相匹配。亚历山大是其中一个物体的名字。然而,我也希望“alex”或“ali”是可接受的输入。在下面的当前表单中,只有“alexander”与alexander对象匹配。如果无法使用映射实现这一点,我想知道一种好方法,可以将用户字符串输入与对象名称进行匹配,而不需要使用一堆If语句(可能有些名称有几十个昵称) 我想你想要Javascript 地图中的一个值可能有多个键?如果没有,怎么做?,javascript,Javascript,我试图找出是否有一种方法可以在javaScript的映射中为一个值设置多个键。Mozilla上的应用程序似乎不建议这样做,所以我不确定。例如,我以字符串的形式从用户处获取输入,我希望将该字符串与具有相同名称的匹配对象相匹配。亚历山大是其中一个物体的名字。然而,我也希望“alex”或“ali”是可接受的输入。在下面的当前表单中,只有“alexander”与alexander对象匹配。如果无法使用映射实现这一点,我想知道一种好方法,可以将用户字符串输入与对象名称进行匹配,而不需要使用一堆If语句(可
const personByKey = new Map([
["john", john],
["alexander", alexander],
["alex", alexander],
["wesley", wesley]
]);
我想你想要
const personByKey = new Map([
["john", john],
["alexander", alexander],
["alex", alexander],
["wesley", wesley]
]);
我认为您需要一个主查找字典,其中包含映射到密钥的所有可能昵称,以便在personByKey映射中使用
let nicknameMap = {
"alex": "alexander",
"al": "alexander",
"alexander": "alexander",
"john": "john",
"j-dog": "john"
"al": "alexander",
}
var person = personByKey[nicknameMap["al"]];
我认为您需要一个主查找字典,其中包含映射到密钥的所有可能昵称,以便在personByKey映射中使用
let nicknameMap = {
"alex": "alexander",
"al": "alexander",
"alexander": "alexander",
"john": "john",
"j-dog": "john"
"al": "alexander",
}
var person = personByKey[nicknameMap["al"]];
哦,很简单,我从没想过。谢谢哦,很简单,我从没想过。谢谢