Maison >interface Web >js tutoriel >Comment utiliser sort() en js

Comment utiliser sort() en js

小云云
小云云original
2018-03-13 17:15:092159parcourir

Si cette méthode est appelée sans paramètres, les éléments du tableau seront triés par ordre alphabétique, ou plus précisément, par ordre d'encodage des caractères. Pour y parvenir, convertissez d’abord les éléments du tableau en chaînes (si nécessaire) à des fins de comparaison.

La méthode array.sort() utilise par défaut un tri ascendant. Si vous souhaitez trier selon d'autres critères, vous devez fournir une fonction de comparaison. Cette fonction compare deux valeurs puis renvoie une valeur à décrire. les deux valeurs. La fonction de comparaison doit avoir deux paramètres a et b, et sa valeur de retour est la suivante :

  • Si a est inférieur à b, a doit apparaître avant b dans le tableau trié, puis renvoyer une valeur inférieure à la valeur 0.

  • Si a est égal à b, renvoie 0.

  • Si a est supérieur à b, renvoie une valeur supérieure à 0.

Simple : comparez les deux paramètres a et b de la fonction, renvoyez a-b par ordre croissant et renvoyez b-a par ordre décroissant

Voici quelques exemples pour comprendre

Ordre croissant des tableaux ordinaires

var arr = [4,3,6,5,7,2,1];
arr.sort();
console.log(arr);//输出结果[1,2,3,4,5,6,7]

Ordre décroissant des données ordinaires

var arr = [4,3,6,5,7,2,1];
arr.sort();
arr.sort(function(a,b){    return b-a;
});
console.log(arr);//输出结果[7,6,5,4,3,2,1]

Tri des tableaux d'objets

var arr= [ 
    { 'sortNo': 2},
    { 'sortNo': 1},
    { 'sortNo': 5},
    { 'sortNo': 6},
    { 'sortNo': 7},
    { 'sortNo': 3},
    { 'sortNo': 9},
    { 'sortNo': 4},
    { 'sortNo': 0}
];
arr.sort(function(a, b){        return a.sortNo - b.sortNo;
});
console.log(arr);//输出结果//{ 'sortNo': 2}//{ 'sortNo': 1}//{ 'sortNo': 5}//{ 'sortNo': 6}//{ 'sortNo': 7}//{ 'sortNo': 3}//{ 'sortNo': 9}//{ 'sortNo': 4}//{ 'sortNo': 0}

Tableau d'objets multi-conditions sorting

(cet exemple Si le sortNo est le même, appuyez sur sortNo2 de grand à petit)

var arr= [ 
    { 'sortNo': 2, 'sortNo2': 3},
    { 'sortNo': 1, 'sortNo2': 3},
    { 'sortNo': 5, 'sortNo2': 3},
    { 'sortNo': 6, 'sortNo2': 3},
    { 'sortNo': 7, 'sortNo2': 3},
    { 'sortNo': 3, 'sortNo2': 4},
    { 'sortNo': 3, 'sortNo2': 2},
    { 'sortNo': 3, 'sortNo2': 1},
    { 'sortNo': 3, 'sortNo2': 3},
    { 'sortNo': 8, 'sortNo2': 3},
    { 'sortNo': 4, 'sortNo2': 1},
    { 'sortNo': 4, 'sortNo2': 2}
];
arr.sort(function(a, b){    if (a.sortNo === b.sortNo) {            return b.sortNo2 - a.sortNo2;
    } else {            return a.sortNo - b.sortNo;
    }
});
console.log(arr); 

//输出结果//{ 'sortNo': 1, 'sortNo2': 3}//{ 'sortNo': 2, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 4}//{ 'sortNo': 3, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 2}//{ 'sortNo': 3, 'sortNo2': 1}//{ 'sortNo': 4, 'sortNo2': 2}//{ 'sortNo': 4, 'sortNo2': 1}//{ 'sortNo': 5, 'sortNo2': 3}//{ 'sortNo': 6, 'sortNo2': 3}//{ 'sortNo': 7, 'sortNo2': 3}//{ 'sortNo': 8, 'sortNo2': 3}

Recommandations associées :

Exemple détaillé de tableau JavaScript méthodes sorting reverse() et sort()

Comment fonctionne la fonction sort() en JavaScript

Méthode JavaScript sort()

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