在JavaScript中仅对二维数组的列进行排序
我们需要编写一个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 ] ]
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短