我有一個嵌套數組的對象的複雜數組。下面的工作提取某些對象,但這是我寫的最醜陋的事情之一。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
提取每個循環到一個方法? –