Maison  >  Article  >  interface Web  >  Partager la méthode de tri du tableau Array.sort() en JavaScript

Partager la méthode de tri du tableau Array.sort() en JavaScript

黄舟
黄舟original
2017-03-24 15:13:251254parcourir

Cet article présente principalement la méthode de tri de Array.sort() en JavaScript. Il a une très bonne valeur de référence, jetons un oeil avec l'éditeur ci-dessous

La méthode sort() des tableaux en JavaScript est principalement utilisée pour trier les éléments du tableau. Parmi eux, la méthode sort() possède un paramètre facultatif. Cependant, ce paramètre doit être une fonction. Lors de l'appel de la méthode sort() d'un tableau, si aucun paramètre n'est passé, les éléments du tableau seront triés par ordre alphabétique (ordre d'encodage des caractères). Si vous souhaitez trier selon d'autres critères, vous devez passer un paramètre. et c'est une fonction. Cette fonction compare deux valeurs et renvoie un nombre décrivant l'ordre relatif des deux valeurs.

1. Triez le tableau numérique du petit au grand.

Code :

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
 else if (m > n) return 1
 else return 0
});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56]

2. Effectuez un tri alphabétique insensible à la casse sur le tableau string.

Code :

var arr = [&#39;abc&#39;, &#39;Def&#39;, &#39;BoC&#39;, &#39;FED&#39;];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"]
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. Trier le tableau contenant l'objet selon l'âge dans l'objet. Disposez-les dans l'ordre du grand au petit

Code :

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}]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn