Die Methode sort() wird verwendet, um die Elemente eines Arrays zu sortieren. Im Header-Dateialgorithmus enthalten
Grammatik
arrayObject.sort(sortby)
参数 | 描述 |
---|---|
sortby | 可选。规定排序顺序。必须是函数。 |
Rückgabewert
Ein Verweis auf ein Array. Bitte beachten Sie, dass das Array nach dem Original-Array sortiert wird und keine Kopie erstellt wird.
1. Standardsituation
Standardmäßig sortiert die Methode sort() Array-Elemente in aufsteigender Reihenfolge. Um eine Sortierung zu erreichen, ruft die Methode sort() die Konvertierungsmethode toString() jedes Array-Elements auf und vergleicht dann die resultierenden Zeichenfolgen, um zu bestimmen, wie sortiert werden soll. Wie folgt:
var values = ["orange","apple","banana"]; values.sort(); console.log(values);//结果["apple", "banana", "orange"]
Auch wenn jedes Element im Array ein numerischer Wert ist, vergleicht die Methode sort() Zeichenfolgen wie folgt:
var values = [,,,,]; values.sort(); console.log(values);//结果[, , , , ]
2. Sortieren Sie die Werte
Die Methode sort() kann eine Vergleichsfunktion als Parameter empfangen.
Wenn der erste Parameter vor dem zweiten Parameter stehen sollte, gibt sie eine negative Zahl zurück. Wenn die beiden Parameter gleich sind, gibt sie 0 zurück. Wenn der erste Parameter nach dem zweiten Parameter steht, wird zurückgegeben eine positive Zahl.
function compare(a, b){ return (a - b); }//按升序排列的比较函数 var values = [,,,,]; values.sort(compare); console.log(values);//结果[, , , , ]
3. Sortieren Sie das Array nach einem Objektattribut
Definieren Sie zunächst eine Funktion, die einen Attributnamen empfängt, und erstellen Sie dann eine Vergleichsfunktion basierend auf diesem Attributnamen. Hier ist die Definition dieser Funktion:
function createComparisonFunction(propertyName){ return function(object, object){ var a = object[propertyName]; var b = object[propertyName]; if(a < b){ return -; }else if(a > b){ return ; }else{ return ; } } }//返回一个根据属性名创建的按升序排列的比较函数
Nachdem die interne Funktion den Parameter propertyName empfangen hat, verwendet sie die eckige Klammernotation, um den Wert der angegebenen Eigenschaft abzurufen.
Die obige Funktion kann wie im folgenden Beispiel verwendet werden.
var data = [{name:"Lily", age: }, {name:"Judy", age: }]; data.sort(createComparisonFunction("name")); console.log(data[].name);//Judy data.sort(createComparisonFunction("age")); console.log(data[].name);//Lily
Der obige Inhalt stellt die verschiedenen Verwendungsmöglichkeiten der vom Editor eingeführten Funktion Sort() dar. Ich hoffe, er wird Ihnen hilfreich sein!