Мне нужно хранить некоторые данные, имеющие 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');
- Почему Chrome делает первый пример действительно намного быстрее, какой тип оптимизации?
- Какой лучший способ сохранить эту сумму (или больше?)) данных?