Heim >Web-Frontend >js-Tutorial >JS-Array-Sortierung

JS-Array-Sortierung

不言
不言Original
2018-04-03 18:01:482713Durchsuche


Die Methode sort() von Arrays in JavaScript wird hauptsächlich zum Sortieren der Elemente des Arrays verwendet. Darunter verfügt die Methode sort() über einen optionalen Parameter. Dieser Parameter muss jedoch eine Funktion sein. Beim Aufruf der sort()-Methode eines Arrays werden die Elemente im Array in alphabetischer Reihenfolge (Zeichenkodierungsreihenfolge) sortiert, wenn keine Parameter übergeben werden. Sie müssen einen Parameter übergeben. Ist eine Funktion, die zwei Werte vergleicht und eine Zahl zurückgibt, die die relative Reihenfolge der beiden Werte beschreibt.

1. Sortieren Sie das numerische Array von klein nach groß.

var arr = [22,12,3,43,56,47,4];
arr.sort();
console.log(arr); // [12, 22, 3, 4, 43, 47, 56],按照数字的第一个字排序的arr.sort(function (m, n) {
 if (m < n) return -1  //m < n 返回-1是从小到大排序,返回1是从大到小排序
 else if (m > n) return 1
 else return 0});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56],按照数值大小排序

2. Führen Sie eine alphabetische Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung für ein Array von Zeichenfolgen durch.

var arr = [&#39;abc&#39;, &#39;Def&#39;, &#39;BoC&#39;, &#39;FED&#39;];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"],按首个字母在ASIIC中出现的位置排序console.log(arr.sort(function(s, t){
 var a = s.toLowerCase(); var b = t.toLowerCase(); if (a < b) return -1;//从小到大排序
 if (a > b) return 1; return 0;
})); // ["abc", "BoC", "Def", "FED"]

3. Sortieren Sie ein Array mit Objekten nach Alter im Objekt. Die Reihenfolge von groß nach klein ist angeordnet

var arr = [{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;赵六&#39;, age: 4}];var objectArraySort = function (keyName) {
 return function (objectN, objectM) {
  var valueN = objectN[keyName]  var valueM = objectM[keyName]  if (valueN < valueM) return 1 //从大到小排序
  else if (valueN > valueM) return -1
  else return 0
 }
}
arr.sort(objectArraySort(&#39;age&#39;))
console.log(arr) // [{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;赵六&#39;, age: 4}]

Die Methode sort () des Arrays im Array in Javascript wird in JavaScript hauptsächlich zum Sortieren der Elemente des Arrays verwendet. Darunter verfügt die Methode sort() über einen optionalen Parameter. Dieser Parameter muss jedoch eine Funktion sein. Wenn Sie die Methode sort() eines Arrays aufrufen,

werden die Elemente im Array in alphabetischer Reihenfolge (Reihenfolge der Zeichenkodierung) sortiert Wenn Sie nach anderen Kriterien sortieren möchten, Sie müssen einen Parameter übergeben. Ist eine Funktion, die zwei Werte vergleicht und eine Zahl zurückgibt, die die relative Reihenfolge der beiden Werte beschreibt.

1. Sortieren Sie das numerische Array von klein nach groß.

var arr = [22,12,3,43,56,47,4];
arr.sort();
console.log(arr); // [12, 22, 3, 4, 43, 47, 56],按照数字的第一个字排序的arr.sort(function (m, n) {
 if (m < n) return -1  //m < n 返回-1是从小到大排序,返回1是从大到小排序
 else if (m > n) return 1
 else return 0});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56],按照数值大小排序
2. Führen Sie eine alphabetische Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung für ein Array von Zeichenfolgen durch

var arr = [&#39;abc&#39;, &#39;Def&#39;, &#39;BoC&#39;, &#39;FED&#39;];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"],按首个字母在ASIIC中出现的位置排序console.log(arr.sort(function(s, t){
 var a = s.toLowerCase(); var b = t.toLowerCase(); if (a < b) return -1;//从小到大排序
 if (a > b) return 1; return 0;
})); // ["abc", "BoC", "Def", "FED"]
3. Sortieren Sie ein Array mit Objekten nach Alter im Objekt. In absteigender Reihenfolge anordnen

var arr = [{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;赵六&#39;, age: 4}];var objectArraySort = function (keyName) {
 return function (objectN, objectM) {
  var valueN = objectN[keyName]  var valueM = objectM[keyName]  if (valueN < valueM) return 1 //从大到小排序
  else if (valueN > valueM) return -1
  else return 0
 }
}
arr.sort(objectArraySort(&#39;age&#39;))
console.log(arr) // [{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;赵六&#39;, age: 4}]
Verwandte Empfehlungen:

So bedienen Sie JS-Arrays, um Duplikate zu entfernen

Js-Array-Wissenszusammenfassung Teilen

Das obige ist der detaillierte Inhalt vonJS-Array-Sortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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