猿问

请问如何对多列上的数组进行排序?

如何对多列上的数组进行排序?

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

[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?


POPMUISE
浏览 710回答 3
3回答

智慧大石

如果所有者名称不同,请按它们进行排序。否则,使用“发布名称”表示“平局”。function&nbsp;mysortfunction(a,&nbsp;b)&nbsp;{ &nbsp;&nbsp;var&nbsp;o1&nbsp;=&nbsp;a[3].toLowerCase(); &nbsp;&nbsp;var&nbsp;o2&nbsp;=&nbsp;b[3].toLowerCase(); &nbsp;&nbsp;var&nbsp;p1&nbsp;=&nbsp;a[1].toLowerCase(); &nbsp;&nbsp;var&nbsp;p2&nbsp;=&nbsp;b[1].toLowerCase(); &nbsp;&nbsp;if&nbsp;(o1&nbsp;<&nbsp;o2)&nbsp;return&nbsp;-1; &nbsp;&nbsp;if&nbsp;(o1&nbsp;>&nbsp;o2)&nbsp;return&nbsp;1; &nbsp;&nbsp;if&nbsp;(p1&nbsp;<&nbsp;p2)&nbsp;return&nbsp;-1; &nbsp;&nbsp;if&nbsp;(p1&nbsp;>&nbsp;p2)&nbsp;return&nbsp;1; &nbsp;&nbsp;return&nbsp;0;}
随时随地看视频慕课网APP
我要回答