【发布时间】:2015-11-20 23:19:06
【问题描述】:
如果我需要一些标签,我必须执行 LOT 的查找,同时解析 xmlStream。
我可以使用 array.indexOf 方法(我在数组中有大约 15 个项目)或使用 object[key] 查找来做到这一点。
第二种解决方案在理论上对我来说似乎更有效,但在我的代码中看起来不太好。但如果它真的更有效,我会保持原样。
例如:
var tags = [
'tag1',
'tag2',
'tag3',
...
];
var tags2 = {
'tag1' : null,
'tag2' : null,
'tag3' : null,
}
tags.indexOf(value) // exists?
tags2[value] // exists?
【问题讨论】:
-
indexOf 是 O(n),哈希是 O(1),afaik
-
你试过了吗? jsperf.com
-
这对我来说似乎是个好问题,为什么它被否决了?
-
我想说选择最有意义的结构。 15 项不算什么,不会引人注意,你冒着让代码难以阅读的风险,而没有明显的好处。
标签: javascript arrays object