JavaScript中转置数组时实现列数据从高到低排序的方法
数组转置并按列降序排序实现方案
直接在提取列数据的步骤后添加降序排序逻辑即可,修改后的代码如下:
var transposeToExcel = solverPacks_[0] .map((_, colIndex) => solverPacks_ .map(row => row[colIndex]) // 提取当前列的所有数据 .sort((a, b) => b - a) // 对列内数值进行降序排序 .join('\t') ).join('\n'); console.log("transposeToExcel = " + "\n" + transposeToExcel);
关键修改说明
- 若你的列数据是字符串类型的数值,需要先转换为数字再排序,将排序代码改为
sort((a, b) => Number(b) - Number(a))即可。 - 排序操作需放在列数据提取完成后、拼接为制表符分隔字符串之前,确保输出的每一列都是从高到低排列的结果。
效果验证
以你提供的第一列数据为例,处理后会输出:
4298
4275
4228
4199
4189
4012
4008
3700
3659
3614
3595
3579
内容的提问来源于stack exchange,提问作者Christina
相关产品推荐
相关产品推荐

