const dados = [
{ id: 1, nome: "Primeiro envio",
estatistica: [
{ id: 1, entregues: 0 },
{ id: 2, entregues: 2 }
]
},
{ id: 2, nome: "Segundo envio",
estatistica: [
{ id: 1, entregues: 1 },
{ id: 2, entregues: 3 }
]
}
];
// for of
let soma = 0;
for (const dado of dados) {
for (const item of dado.estatistica) {
soma += item.entregues;
}
}
console.log(soma);
// for tradicional
soma = 0;
for (let i = 0; i < dados.length; i++) {
for (let j = 0; j < dados[i].estatistica.length; j++) {
soma += dados[i].estatistica[j].entregues;
}
}
console.log(soma);
// reduce, olha a zona
soma = dados.reduce((x, y) => x + y.estatistica.reduce((a, b) => a + b.entregues, 0), 0);
console.log(soma);
Y29uc3QgZGFkb3MgPSBbCiAgICB7IGlkOiAxLCBub21lOiAiUHJpbWVpcm8gZW52aW8iLAogICAgICBlc3RhdGlzdGljYTogWwogICAgICAgIHsgaWQ6IDEsIGVudHJlZ3VlczogMCB9LAogICAgICAgIHsgaWQ6IDIsIGVudHJlZ3VlczogMiB9CiAgICAgIF0KICAgIH0sCiAgICB7IGlkOiAyLCBub21lOiAiU2VndW5kbyBlbnZpbyIsCiAgICAgIGVzdGF0aXN0aWNhOiBbCiAgICAgICAgeyBpZDogMSwgZW50cmVndWVzOiAxIH0sCiAgICAgICAgeyBpZDogMiwgZW50cmVndWVzOiAzIH0KICAgICAgXQogICAgfQpdOwoKLy8gZm9yIG9mCmxldCBzb21hID0gMDsKZm9yIChjb25zdCBkYWRvIG9mIGRhZG9zKSB7CiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgZGFkby5lc3RhdGlzdGljYSkgewogICAgICAgIHNvbWEgKz0gaXRlbS5lbnRyZWd1ZXM7CiAgICB9Cn0KY29uc29sZS5sb2coc29tYSk7CgovLyBmb3IgdHJhZGljaW9uYWwKc29tYSA9IDA7CmZvciAobGV0IGkgPSAwOyBpIDwgZGFkb3MubGVuZ3RoOyBpKyspIHsKICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGFkb3NbaV0uZXN0YXRpc3RpY2EubGVuZ3RoOyBqKyspIHsKICAgICAgICBzb21hICs9IGRhZG9zW2ldLmVzdGF0aXN0aWNhW2pdLmVudHJlZ3VlczsKICAgIH0KfQpjb25zb2xlLmxvZyhzb21hKTsKCi8vIHJlZHVjZSwgb2xoYSBhIHpvbmEKc29tYSA9IGRhZG9zLnJlZHVjZSgoeCwgeSkgPT4geCArIHkuZXN0YXRpc3RpY2EucmVkdWNlKChhLCBiKSA9PiBhICsgYi5lbnRyZWd1ZXMsIDApLCAwKTsKY29uc29sZS5sb2coc29tYSk7Cg==