我想将桌面网站的类别列表映射到匹配的移动类别。 需要在每个页面上使用JavaScript在客户端上完成,因此它应该很安静。
所以我从这开始:
var mapDesktop2Mobile = [{"news":"panorama"}, {"local":"someothercat"}];
现在我想要返回“全景”,如果我的桌面类别是“新闻”。
我怎样才能获得价值?
答案 0 :(得分:4)
要快速,你不应该将对象(它充当字典)嵌套在一个数组中,而只是使用一个对象:
var mapDesktop2Mobile = {"news":"panorama", "local":"someothercat"};
此时您可以通过以下方式获取值:
mapDesktop2Mobile["news"]
如果您需要更复杂对象的字典,可以使用 UNIQUE 属性的值作为键,如下所示:
var complexDictionary = {
"key01" : { "name" : "key01", "property1" : 1, "property2" : 4 },
"key02" : { "name" : "key02", "property1" : 2, "property2" : 3 },
"key03" : { "name" : "key03", "property1" : 3, "property2" : 2 },
"key40" : { "name" : "key40", "property1" : 4, "property2" : 1 }
};
重复属性作为密钥的事实应该是无关紧要的,你不会分配更多的内存并充分利用VM实现的全部速度(主要是使用散列,存储桶和本机平台代码 - 你可以我希望得到更快的速度。
答案 1 :(得分:2)
为什么要为地图使用数组?别。使用具有多个属性的对象。
var mapDesktop2Mobile = {
"news":"panorama",
"local":"someothercat"
};
然后,您只需执行mapDesktop2Mobile.news
(或mapDesktop2Mobile['news']
)。