最好和最快的方式在javascript对象中存储大量数据

时间:2019-10-30 14:12:13

标签: javascript arrays object

我需要存储一些具有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');

  1. 为什么chrome确实可以更快地完成第一个示例,这是什么类型的优化?
  2. 什么是存储大量(或更大)数据的最佳方法?

1 个答案:

答案 0 :(得分:-1)

如果两个片段的运行时间都不相同,则您可以意识到时间非常相似,这是因为算法的计算复杂度基本上取决于循环数(相同)。

如果您需要存储每个值,我认为没有其他方法可以实现。