Maison >interface Web >js tutoriel >Diverses utilisations des compétences Sort() function_javascript

Diverses utilisations des compétences Sort() function_javascript

WBOY
WBOYoriginal
2016-05-16 15:10:001693parcourir

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 !

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