(JS) - Как вывести сумму каждой строки массива?

Задача:

  1. Создать двумерный массив 10х10, заполнить его случайными числами.
  2. Рассчитать сумму каждой строчки массива. Вывести в одну таблицу массив и сумму каждой строки.

Мой код (всё к чему додумался, изучаю JS неделю от силы):

let arrayLength = 10; // длина основного массива
let limit = 10; // количество квадратов
let array = [];

for (let i = 0; i < arrayLength; i++) {
  array[i] = []; // делаем подмассив

  for (let j = 1; j <= limit; j++) {
    array[i].push(j);
  }
}

console.log(array);
document.getElementById('out').innerHTML += array[0] + "\n";
document.getElementById('out').innerHTML += array[1] + "\n";
document.getElementById('out').innerHTML += array[2] + "\n";
document.getElementById('out').innerHTML += array[3] + "\n";
document.getElementById('out').innerHTML += array[4] + "\n";
document.getElementById('out').innerHTML += array[5] + "\n";
document.getElementById('out').innerHTML += array[6] + "\n";
document.getElementById('out').innerHTML += array[7] + "\n";
document.getElementById('out').innerHTML += array[8] + "\n";
document.getElementById('out').innerHTML += array[9] + "\n";
  <pre id="out">
  </pre>

Есть комплексный вариант решения? И ещё хотел бы узнать почему первая строка вывода сдвинулась.


Ответы (1 шт):

Автор решения: Rudi

Сдвинулась строка потому, что в pre есть пробел.. Случайные числа можно получить используя Math.random. Вместо дублирования записи вывода использовать цикл. Сумму массива можно посчитать при помощи reduce..

let arrayLength = 10; // длина основного массива
let limit = 10; // количество квадратов
let array = [];

for (let i = 0; i < arrayLength; i++) {
  array[i] = []; // делаем подмассив

  for (let j = 1; j <= limit; j++) {
    array[i].push(Math.floor(Math.random()*10));
  }
}

for (el of array) {
  document.querySelector('#out').innerHTML += el + "__|__sum: " + el.reduce((a,b)=>{return a+b}) + "\n"
}
<pre id='out'></pre>

→ Ссылка