僅對 JavaScript 中的 2-D 陣列進行列排序
我們需要編寫一個 JavaScript 函式,它接收一個多維整型陣列作為唯一引數。
該函式應按升序或降序對陣列列中存在的元素進行排序。
例如 -
如果輸入陣列是 -
const arr = [ [6, 2, 9], [8, 1, 4], [5, 3, 7] ];
那麼陣列應如下排序 -
const output = [ [8, 3, 9], [6, 2, 7], [5, 1, 4] ];
示例
以下是程式碼 -
const arr = [
[6, 2, 9],
[8, 1, 4],
[5, 3, 7]
];
const sortColumns = (arr = []) => {
const transpose = (matrix = []) => {
const res = [];
for (let row = 0; row < matrix.length; row++) {
for (let col = 0; col < matrix[row].length; col++) {
if(!res[col]){
res[col] = [];
}
res[col][row] = matrix[row][col];
}
}
return res;
};
arr = transpose(arr);
for (let row = 0; row < arr.length; row++) {
arr[row].sort((a, b) => b - a);
}
return transpose(arr);
};
console.log(sortColumns(arr));輸出
以下是控制檯輸出 -
[ [ 8, 3, 9 ], [ 6, 2, 7 ], [ 5, 1, 4 ] ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP