Сумма элементов главной диагонали

312
10 декабря 2021, 22:30

Есть стандартная задача по нахождению суммы элементов главной диагонали. Решаю таким образом:

Способ 1)

var numbers = [
  [1,2,3],
  [4,5,6],
  [7,8,9],
  [10,11,12]
];
function sum() {
  return numbers.reduce((outerTotal,row,outerIndex) =>
    outerTotal + row.reduce((innerTotal,element,innerIndex) =>
      innerIndex===outerIndex ? innerTotal + element : innerTotal
      ,0)
    ,0);
}
var result = sum();
console.log(result);

Но хочется упростить решение. Поэтому был придуман другой способ, который имеет синтаксическую ошибку. Как ее можно исправить?

Способ 2)

function sum(){
  numbers.reduce((total,row,outerIndex) => {
    console.log(total);
    console.log(...row.filter((element, innerIndex) => outerIndex === innerIndex));      //1 5 9
    //return ...row.filter((element, innerIndex) => outerIndex === innerIndex) + total;  //синтаксическая ошибка
  },0);
}
Answer 1

не слишком ли усложняете решение?

var numbers = [ 
  [1,2,3], 
  [4,5,6], 
  [7,8,9], 
  [10,11,12] 
]; 
 
 
var sum = numbers.reduce((t,c, idx) => t+ (c[idx] || 0) , 0); 
 
console.log(sum);

READ ALSO
Порядок вывода блоков при изменении разрешения

Порядок вывода блоков при изменении разрешения

Подскажите с решением задачиЕсть столбцы с городами в алфавитном порядке - скрин шаблона При изменении разрешения, правый блок переносится...

225
Почему не отправляется письмо?

Почему не отправляется письмо?

Подскажите, пожалуйста, где у меня ошибка? При попытке отправить письмо выдает "Произошла ошибка!" и письмо не отправляетсяБлагодарю за помощь!

190
Суммировать value при нажатии на кнопку

Суммировать value при нажатии на кнопку

Подскажите пожалуйста, кто разбирается

278