Heim >Web-Frontend >js-Tutorial >Verschiedene Verwendungsmöglichkeiten von Sort() function_javascript Fähigkeiten

Verschiedene Verwendungsmöglichkeiten von Sort() function_javascript Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:10:001698Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn