javascript - 按两个标准对多维数组进行排序?

标签 javascript sorting

我有一个多维数组,我想按两个因素对其进行排序:首先是州,然后是按字母顺序排列的城市。

  var locations = [
                ['Baltimore', 'Maryland', 'MD'],
                ['Germantown', 'Maryland', 'MD'],
                ['Rockville', 'Maryland', 'MD'],
                ['San Francisco', 'California', 'CA'],
                ['San Diego', 'California', 'CA']
  ];

如何根据这两个因素按字母顺序对它们进行排序? 先是州,然后是市? 我知道如何做到这一点只是一个因素,而不是两个..

最佳答案

locations.sort(function(x, y) {
   if (x[1] > y[1])       // if you want to sort by abbreviation,
     return 1;            // use [2] instead of [1].
   else if (x[1] < y[1])
     return -1;
   else if (x[0] > y[0])
     return 1;
   else if (x[0] < y[0])
     return -1;
   else
     return 0;
});

关于javascript - 按两个标准对多维数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136588/

相关文章:

php - 我怎样才能对这个数组进行排序

linux - 如何使用 bash 对文件夹中的文件进行排序?

c++ - 哪个 STL 容器最适合 std::sort? (这还重要吗?)

javascript - 如何在 Chart.js Laravel 中将起始值设置为 “0”

php - 成功提交表单到 php 后添加的 Jquery 提交表单

javascript - Marionette 示例在 jsfiddle 中不起作用

javascript - 如何将 JSON 转换为索引数组

javascript - 如何用 Jest 模拟 Axios?

Javascript 在 JSON 中查找对象(我使用 Angular)

java - 如何在两列上对 JTable 进行排序,以便带有 "1"的项目位于顶部?