// 示例代码:对二维数组按照指定列进行排序
// 定义一个二维数组
let arr = [
[3, 14],
[1, 20],
[2, 8],
[5, 15]
];
// 按照第一列(索引为0)升序排序
arr.sort((a, b) => a[0] - b[0]);
console.log("按第一列升序排序:", arr);
// 按照第二列(索引为1)降序排序
arr.sort((a, b) => b[1] - a[1]);
console.log("按第二列降序排序:", arr);
// 如果需要更复杂的排序逻辑,比如先按第一列升序,再按第二列降序:
arr.sort((a, b) => {
if (a[0] === b[0]) {
return b[1] - a[1]; // 第一列相同时,按第二列降序
}
return a[0] - b[0]; // 否则按第一列升序
});
console.log("先按第一列升序,再按第二列降序:", arr);
sort()
方法:JavaScript 的 Array.prototype.sort()
方法可以用于对数组元素进行排序。默认情况下,它会将数组元素转换为字符串并按字典顺序排序。
自定义排序函数:为了实现二维数组的排序,我们传递一个比较函数 (a, b)
给 sort()
。该函数决定了两个元素 a
和 b
的相对顺序:
a
会被排在 b
之前。b
会被排在 a
之前。a
和 b
的相对位置不变。多列排序:可以通过在比较函数中加入额外的条件来实现多列排序。例如,先按第一列升序排序,如果第一列相同,则按第二列降序排序。
上一篇:js 二维数组去重
下一篇:js 获取文件名后缀
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站