【发布时间】:2011-06-07 19:42:48
【问题描述】:
在 Javascript 中,使用数组作为我可以匹配以获取值的键的最佳方法是什么?
我想要做的是获得一个可以映射到多个键的值。
使用开关它看起来像这样:
switch(item)
{
case "table": // fall through
case "desk": // fall through
case "chair": // fall through
result = "office"
break
}
在我看来,语法是:
if (dict[0].key.contains(item)) return dict[0].value
我不想使用开关,因为键和值需要动态分配。
目前我正在设置一个对象,它有两个不同的数组,它们需要保持同步才能返回正确的值,这似乎不太理想。
var grammar =
[
{
"app": "sms",
"items":
[
[ "message","sms", "send"],
[ "view", "read"]
],
"terms":
[
[ "who+contact", "message+text" ],
[ "who+contact"]
]
},
{
...
}
];
如果我匹配到 "message" 、 "sms" 或 "send" 我会返回 "who+contact,message+text",如果我匹配到 "view" 或 "read" 我会返回 "who +联系人”
感谢您的任何想法。
【问题讨论】:
标签: javascript arrays dictionary