我有一个对象,
obj = {};
现在我将项目添加到此对象中,
obj[element] = /*something*/
现在,如果我想访问key = element as
这个对象obj[element];
这项行动的时间复杂程度。
请不要建议使用Array而不是Object,我知道数组有恒定的时间查找因为我在随机数添加元素(使用它们作为索引),所以如果我使用数组,我将有一个稀疏数组和这在内存方面效率低下。
答案 0 :(得分:1)
它足够小,你不用担心它。对象是javascript的核心部分,微优化很糟糕。
编写可理解的代码(无论是使用对象还是使用什么代码)比编写能够节省0.000000000001
秒的代码要好得多。
答案 1 :(得分:0)
您需要知道:在JavaScript中,Array也是一个Object。
同样要检查任何操作的速度,您可以执行以下操作:
var obj = {}, element = "test";
obj[element] = 333333;
var time1 = new Date().getTime(); // start timestamp
for (var i=0; i<1000; i++)
{
// here can be any code for measurement
var a = obj[element];
}
var time2 = new Date().getTime(); // end timestamp
var result = (time2 - time1) / 1000; // divide all time to number of iterations
alert(result + " ms");