小编典典

如何在多列上对数组排序?

javascript

我有一个多维数组。主数组是

[publicationID][publication_name][ownderID][owner_name]

我想做的是先对数组进行排序owner_name,然后再对进行排序publication_name。我知道在JavaScript
Array.sort()中您可以将自定义函数放入其中,就我而言,我有:

function mysortfunction(a, b) {
    var x = a[3].toLowerCase();
    var y = b[3].toLowerCase();

    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

这是刚刚排序的一列,即OWNER_NAME很好,但我怎样修改它进行排序owner_name,然后publication_name


阅读 304

收藏
2020-04-25

共1个答案

小编典典

如果所有者名称不同,请按它们排序。否则,使用决胜局的发布名称。

function mysortfunction(a, b) {

  var o1 = a[3].toLowerCase();
  var o2 = b[3].toLowerCase();

  var p1 = a[1].toLowerCase();
  var p2 = b[1].toLowerCase();

  if (o1 < o2) return -1;
  if (o1 > o2) return 1;
  if (p1 < p2) return -1;
  if (p1 > p2) return 1;
  return 0;
}
2020-04-25