我需要存储一些具有3个键的数据才能唯一地确定每个项目。 对于当前示例,我使用 i , j , z 作为键。
console.time('global1');
var global1 = {};
for (var i = 0; i < 100; ++i) {
for (var j = 0; j < 100; ++j) {
for (var z = 0; z < 100; ++z) {
global1[i] = global1[i] || {};
global1[i][j] = global1[i][j] || {};
global1[i][j][z] = global1[i][j][z] = { a: 123456789 };
}
}
}
console.timeEnd('global1');
console.time('global2');
var global2 = {};
for (var i = 0; i < 100; ++i) {
for (var j = 0; j < 100; ++j) {
for (var z = 0; z < 100; ++z) {
global2[[i,j,z]] = { a: 123456789 };
}
}
}
console.timeEnd('global2');
答案 0 :(得分:-1)
如果两个片段的运行时间都不相同,则您可以意识到时间非常相似,这是因为算法的计算复杂度基本上取决于循环数(相同)。
如果您需要存储每个值,我认为没有其他方法可以实现。