Генератор таблицы с подсчетом суммы значений каждого столбца
Есть такое задание, создать генератор таблицы нужной размерности (указывается в инпутах).
Также нужно вывести на экран (в моем случае консоли для удобства) сумму значений в каждом столбце.
Можете натолкнуть на правильную мысль, как это лучше сделать? (JQuery нельзя использовать
Сейчас готов только генератор таблицы. Я попытался написать подсчет суммы, но у меня получилась только сумма строк, а нужно столбцов.
HTML:
input type = "text" id = "rowsT" value = '3'>
input type = "text" id = "colsT" value = '3'>
input id="startButton" type="button" value="Start" onclick = "create_table()">
table id="main_tb_container" border="1" style="margin-top:20px;">
/table>
JS:
//Генератор случаных чисел в нужном диапазоне
function getR(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
function create_table() {
//Основные переменные
var myRows = document.getElementById('rowsT').value;
var myCols = document.getElementById('colsT').value;
var ta = document.getElementById('main_tb_container');
//Цикл для создания самой таблицы нужной размерности и заполнения ее рандомными числами
for (var i = 0; i < myRows; i++)
{
var ro = ta.insertRow (-1)
for (var j = 0; j < myCols; j++)
{
var ce = ro.insertCell (-1);
}
}
}
$(function(){});
//Генератор случаных чисел в нужном диапазоне
function getR(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
function getCollSumm(arColSumm) {
for (var i = 1; i <= arColSumm.length; i++ )
{
console.log( 'сумма ' + i + ' столбеца = ' + arColSumm[i-1] );
}
}
function create_table() {
//Основные переменные
var myRows = document.getElementById('rowsT').value;
var myCols = document.getElementById('colsT').value;
var ta = document.createElement("table");
var arColSumm = [];
//Цикл для создания самой таблицы нужной размерности и заполнения ее рандомными числами
for (let i = 0; i < myRows; i++)
{
var ro = ta.insertRow (i);
for (let j = 0; j < myCols; j++)
{
let ce = ro.insertCell (j);
let value = getR(10, 100);
ce.innerHTML = '[' + value + ']';
if( arColSumm[j] ){
arColSumm[j] += value;
}
else{
arColSumm[j] = value;
}
}
}
document.documentElement.appendChild(ta);
getCollSumm(arColSumm);
}
for (let sum, i = 1; i <= +myCols; i++) {
sum = [...document.querySelectorAll(`td:nth-child(${i})`)]
.reduce((r, el) => (r += +el.textContent || 0), 0);
console.log(`Сумма значений столбца ${i} равна ${sum}`);
}