Способ найти сумму всех элементов в нескольких массивах
У меня есть массив, который содержит в себе 9 массивов, в каждом из которых по 3 массива с 3 элементами(всегда числа).
Мне нужно посчитать сумму чисел в одном блоке(один блок - это массив, содержащий в себе 3 массива с 3 элементами в каждом) и, если она равна 45, вернуть true.
Arr=[Массив содержащий 9 блоков]
Один из блоков - [ [5, 3, 4], [6, 7, 2], [1, 9, 8] ] - нужно посчитать сумму элементов в каждом таком блоке, и вернуть true.
Честно, не знаю как понятнее написать, или вставить сюда код, там очень много и без такого описания ничего не будет понятно.
Ответы (1 шт):
Можно с помощью flat сначала получить одномерный массив, а потом к нему применить reduce, чтобы посчитать сумму и сравнить с нужным значением
const block = [ [5, 3, 4], [6, 7, 2], [1, 9, 8] ]; const isSumEqual = (block, value) => { return block .flat() .reduce((sum, num) => sum + num, 0) === value; } console.log(isSumEqual(block, 45));Можно просто пройтись двойным циклом, посчитать сумму и сравнить с нужным значением
const block = [ [5, 3, 4], [6, 7, 2], [1, 9, 8] ]; const isSumEqual = (block, value) => { let sum = 0; for (const row of block) { for (const num of row) { sum += num; } } return sum === value; } console.log(isSumEqual(block, 45));