Нахождение колонок и диагоналей таблицы на JavaScript

Пусть у нас дана HTML таблица. Достаточно легко получить ряды этой таблицы в виде двухмерного массива. Однако, получение колонок, а тем более ее диагоналей представляет собой сложности. Давайте решим эту задачу!

Исходники кода

<table id="table"></table> td { padding: 10px; border: 1px solid black; text-align: center; } var rowsNum = 5; var colsNum = 6; var arr = []; var k = 1; for (var i = 0; i < rowsNum; i++) { arr[i] = []; for (var j = 0; j < colsNum; j++) { arr[i][j] = k; k++; } } console.log(arr); createTable(arr); function createTable(arr) { var table = document.querySelector('#table'); var k = 1; for (var i = 0; i < arr.length; i++) { var tr = document.createElement('tr'); for (var j = 0; j < arr[i].length; j++) { var td = document.createElement('td'); td.innerHTML = k++; tr.appendChild(td); } table.appendChild(tr); } } /* var result = []; for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr[i].length; j++) { if (result[j] === undefined) { result[j] = []; } result[j][i] = arr[i][j]; } } console.log(result); */ var result = []; for (var i = 0; i < arr.length; i++) { for (var j = arr[i].length - 1; j >= 0; j--) { if (result[i] === undefined) { result[i] = []; } result[i].push(arr[i][j]); } } arr = result; console.log(arr); var result = []; for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr[i].length; j++) { if (result[i + j] === undefined) { result[i + j] = []; } result[i + j].push(arr[i][j]); } } console.log(result);

Смотрите также