(JS) - Как вывести сумму каждой строки массива?
Задача:
- Создать двумерный массив 10х10, заполнить его случайными числами.
- Рассчитать сумму каждой строчки массива. Вывести в одну таблицу массив и сумму каждой строки.
Мой код (всё к чему додумался, изучаю 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>