У меня есть сложный массив объектов с вложенными массивами. Следующие работы для извлечения определенных объектов, но это одна из самых уродливых вещей, которые я написал.Javascript: Улучшите четыре вложенных цикла?
Есть ли у вас темная магия javascript, чтобы сделать это элегантно?
function getEighthInsertionBlocks() {
var struct = Lifestyle.Pagination.structure;
var blocks = [];
for (var i = 0; i<struct.length; i++) {
var page = struct[i];
var layers = page.children;
for (var j=0; j<layers.length; j++) {
var layer = layers[j];
if (layer.className === 'EighthPageLayer') {
var rows = layer.children;
for (var k=0; k<rows.length; k++) {
var row = rows[k];
eBlocks = row.children;
for (var l=0; l<eBlocks.length; l++) {
blocks.push(eBlocks[l]);
}
}
}
}
}
return blocks;
}
Не то, чтобы я был большим поклонником кодового гольфа, но ... это ужасно.
Вы точно на одном уровне. – tenub
Просто подумайте, возможно ли более эффективно использовать цикл foreach вместо – RyanS
Извлечь каждый цикл в метод? –