JQ sortiert absteigend nach mehreren Schlüsseln

8

Ich habe das folgende Array:

%Vor%

Ich möchte dieses Array analog zu diesem SQL "ORDER BY prop1 DESC, prop2 ASC" sortieren, so habe ich dieses Ergebnis:

%Vor%

Wie kann ich ein Array a) absteigend mit einem Schlüssel und b) mit mehreren Schlüsseln sortieren?

Version: jq 1.5

    
Roland Weisleder 21.02.2016, 18:41
quelle

1 Antwort

8

In jq sortieren Arrays nach der Sortierung der Elemente, die sie enthalten, der Reihe nach. Das ist:

%Vor%

Der Filter sort_by sortiert ein Array und verwendet dabei einen Ausdruck als Argument wird für jedes Mitglied des Arrays ausgewertet. Wenn Sie beispielsweise eine Wörterliste nach Länge sortieren möchten:

%Vor%

Wenn der für sort_by als Argument angegebene Ausdruck mehr als einen Wert zurückgibt, werden die Rückgabewerte implizit in ein Array eingeschlossen, das den oben genannten Array-Sortierregeln unterliegt. Wenn Sie beispielsweise eine Wörterliste nach Länge und dann alphabetisch sortieren möchten:

%Vor%

Wenn Sie dies wissen und berücksichtigen, dass die Werte in Ihrem Beispiel numerisch sind, können Sie Folgendes tun:

%Vor%     
Noemi Lapresta 21.02.2016, 20:12
quelle

Tags und Links