Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js 二维数组排序

作者:殘沫灕汐   发布日期:2025-04-02   浏览:87

// 示例代码:对二维数组按照指定列进行排序

// 定义一个二维数组
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);

解释说明:

  1. sort() 方法:JavaScript 的 Array.prototype.sort() 方法可以用于对数组元素进行排序。默认情况下,它会将数组元素转换为字符串并按字典顺序排序。

  2. 自定义排序函数:为了实现二维数组的排序,我们传递一个比较函数 (a, b)sort()。该函数决定了两个元素 ab 的相对顺序:

    • 如果返回值小于 0,则 a 会被排在 b 之前。
    • 如果返回值大于 0,则 b 会被排在 a 之前。
    • 如果返回值等于 0,则 ab 的相对位置不变。
  3. 多列排序:可以通过在比较函数中加入额外的条件来实现多列排序。例如,先按第一列升序排序,如果第一列相同,则按第二列降序排序。

上一篇:js 二维数组去重

下一篇:js 获取文件名后缀

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站