Heim > Web-Frontend > js-Tutorial > Hauptteil

Methode zur Array-Neuordnung in JS

高洛峰
Freigeben: 2016-12-07 10:34:55
Original
1363 Leute haben es durchsucht

1. Es gibt bereits zwei Methoden im Array, die direkt zum Neuordnen verwendet werden können: reverse() und sort().

Der Rückgabewert der Methoden reverse() und sort() ist das sortierte Array. Die Methode reverse() kehrt die Reihenfolge der Array-Elemente um:

var values=[1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1
Nach dem Login kopieren

Standardmäßig sortiert die Methode sort() das Array in aufsteigender Reihenfolge, sort () Die Methode ruft die Konvertierungsmethode toString() für jedes Array-Element auf und vergleicht dann die Zeichenfolgen, um zu bestimmen, wie sortiert werden soll. Obwohl jedes Element im Array ein numerischer Wert ist, vergleicht die Methode sort() Zeichenfolgen:

var values = [0,1,5,10,15];
values.sort();
alert(values); //0,1,10,15,5
Nach dem Login kopieren

Daher kann die Methode sort() empfangen Eine Vergleichsfunktion als Argument.

function compare(value1,value2){
if (value1 < value2){
return -1;
}else if (value1 > value2){
return 1;
}else{
return 0;
}
}
Nach dem Login kopieren

Diese Vergleichsfunktion kann auf die meisten Datentypen angewendet werden. Übergeben Sie sie einfach als Parameter an die Methode sort():

var values = [0,1,3,7,9,15];
values.sort(compare);
alert(values); //0,1,3,7,9,15
Nach dem Login kopieren

Absteigende Sortierung kann auch durch Vergleichsfunktionen erzeugt werden, tauschen Sie einfach die Rückgabewerte der Funktion aus:

function compare (value1, value2){
if (value1<value2){
return 1;
}else if {
return -1;
}else{
return 0;
}
}
Nach dem Login kopieren

Die Sortierung Bedingungen der Funktion

sort() sind: Parameter

ist größer als 0, zwei benachbarte Elemente von arr tauschen Positionen aus;

Parameter ist kleiner als 0, zwei benachbarte Elemente von arr Die Elemente tauschen ihre Positionen nicht aus; der Parameter

ist gleich 0 und die beiden benachbarten Elemente von arr sind gleich groß, daher muss die benutzerdefinierte Vergleichsfunktion einen Wert zurückgeben.

2. Bei numerischen Typen gibt die valueOf()-Methode den Objekttyp des numerischen Typs zurück.

Eine einfachere Vergleichsfunktion kann verwendet werden. Diese Funktion benötigt nur den zweiten Wert minus dem ersten Wert.

function compare (value1,value2){
return value2 - value1;
}
Nach dem Login kopieren


Verwandte Etiketten:
js
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage