как сделать что б 3 й массив был 2м без изменения(сортировку по убыванию поправил)?
В каком месте искать?
function createTable(row, col, parent, masColor) {
var table = document.createElement("table"),arr = [];
for (var i = 0; i < row; i++) {
var tr = table.insertRow(i);
arr[i] = [];
for (var j = 0; j < col; j++) {
var td = tr.insertCell(j);
var color = masColor ? masColor[i][j] : ("000000" + (Math.random() * 16777215 |0).toString(16)).slice(-6);
td.style.backgroundColor = "#" + color;
td.textContent = "#" + color;
arr[i].push(color)
}
}
parent.appendChild(table);
return arr
}
var body = document.body;
/* создание массива*/
var mas = createTable(2, 9, body);
console.log(mas);
/* сортировка массива по строкам возрастание*/
var new_mas_row = mas.map(function(ar) {
return ar.slice(0).sort(function(a, b) {
return parseInt(a, 16) - parseInt(b, 16)
})
});
console.log(new_mas_row);
createTable(2, 9, body, new_mas_row);
/* сортировка массива по столбцам убывание*/
var new_mas_col = mas[0].map(function(ar, k) {
ar = [ar];
for (var i = 1; i < mas.length; i++) ar.push(mas[i][k]);
return ar.sort(function(a, b) {
return parseInt(b, 16) - parseInt(a, 16)
})
}).reduce(function(a, b) {
return a.map(function(el, i) {
return [].concat(el, b[i])
})
});
console.log(new_mas_col);
createTable(2, 9, body, new_mas_col);