|
|
1
11
complexity 最好 如果JS引擎使用哈希并且没有冲突,则情况可能是O(1))。这将取决于JS引擎通常如何实现 associative arrays/objects 因此,第二种方法会更快,但当然会使用更多的内存。这是一个非常典型的 trade off |
|
|
2
0
考虑需要存储的键值对的数量也很重要。如果它小于~50(取决于实现),那么进行线性搜索将与进行哈希表查找一样高效,因为计算哈希值和解决冲突的成本很高。一个例外是,Google chrome v8 JavaScript引擎保留了所有对象的一种缓存版本,允许它直接查找对象上的属性,因此将object类用作哈希表可能会更快,尽管我不确定创建此缓存版本的成本是否会超过小列表的好处。 |
|
|
3
0
您可以在第一个方法中使用Array的indexOf函数。 以下是Mozilla开发者提供的信息: https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Objects:Array:indexOf
|
|
|
4
-2
Javascript数组可以使用诸如标题“为什么鸟会飞”之类的值作为索引。
var TitleArray[]=new Array(); TitleArray[title]=id;
|