Maison >interface Web >js tutoriel >Diverses utilisations des compétences Sort() function_javascript
La méthode sort() est utilisée pour trier les éléments d'un tableau. Contenu dans l'algorithme du fichier d'en-tête
Grammaire
arrayObject.sort(sortby)
参数 | 描述 |
---|---|
sortby | 可选。规定排序顺序。必须是函数。 |
Valeur de retour
Une référence à un tableau. Veuillez noter que le tableau est trié sur le tableau d'origine, aucune copie n'est effectuée.
1. Situation par défaut
Par défaut, la méthode sort() trie les éléments du tableau par ordre croissant. Pour effectuer le tri, la méthode sort() appelle la méthode de conversion toString() de chaque élément du tableau, puis compare les chaînes résultantes pour déterminer comment trier. Comme suit :
var values = ["orange","apple","banana"]; values.sort(); console.log(values);//结果["apple", "banana", "orange"]
Cependant, même si chaque élément du tableau est une valeur numérique, la méthode sort() compare les chaînes, comme suit :
var values = [,,,,]; values.sort(); console.log(values);//结果[, , , , ]
2. Trier les valeurs
La méthode sort() peut recevoir une fonction de comparaison en paramètre.
La fonction de comparaison reçoit deux paramètres. Si le premier paramètre doit être avant le deuxième paramètre, elle renvoie un nombre négatif. Si les deux paramètres sont égaux, elle renvoie 0. Si le premier paramètre est après le deuxième paramètre, elle renvoie. un nombre positif.
function compare(a, b){ return (a - b); }//按升序排列的比较函数 var values = [,,,,]; values.sort(compare); console.log(values);//结果[, , , , ]
3. Triez le tableau en fonction d'un attribut d'objet
Définissez d'abord une fonction, qui reçoit un nom d'attribut, puis crée une fonction de comparaison basée sur ce nom d'attribut. Voici la définition de cette fonction :
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 ; } } }//返回一个根据属性名创建的按升序排列的比较函数
Une fois que la fonction interne a reçu le paramètre propertyName, elle utilisera la notation entre crochets pour obtenir la valeur de la propriété donnée.
La fonction ci-dessus peut être utilisée comme dans l'exemple ci-dessous.
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
Le contenu ci-dessus présente les différentes utilisations de la fonction Sort() introduite par l'éditeur. J'espère qu'il vous sera utile !