La méthode de tri du tableau es6 est "sort()". La méthode sort() est utilisée pour trier les éléments du tableau. L'ordre de tri peut être alphabétique ou numérique, et par ordre croissant ou décroissant. La valeur par défaut est l'ordre alphabétique croissant. Cette méthode a un paramètre facultatif, qui doit être une fonction ; , et la syntaxe est "array. sort(callback(a,b))".
L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3. La méthode
sort() est utilisée pour trier les éléments d'un tableau.
L'ordre de tri peut être alphabétique ou numérique et par ordre croissant ou décroissant.
L'ordre de tri par défaut est croissant par ordre alphabétique.
Parmi elles, 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.
Syntaxe :
array.sort(callback(a,b))
Paramètres | Description |
---|---|
callback(a,b) | Facultatif. Spécifie l'ordre de tri. Doit être une fonction. |
Valeur de retour : type de tableau, qui est une référence au tableau. Veuillez noter que le tableau est trié sur le tableau d'origine et qu'aucune copie n'est effectuée.
Exemple :
//sort的基本使用 let arr = [8, 1, 4, 3, 7, 9] let Arr = [21, 55, 29, 105, 45] console.log(arr.sort()) //[1, 3, 4, 7, 8, 9] console.log(Arr.sort()) // [105, 21, 29, 45, 55]
Comme le montre le code ci-dessus : la méthode sort() ne peut trier correctement les tableaux compris entre 0 et 9. Bien que les éléments du tableau avec plus de deux chiffres donnent une valeur de retour, ils le font. not Pas le résultat trié. En effet, sort() effectue un tri interne basé sur des codes ASCLL, et non sur des valeurs numériques. Cette méthode ne peut donc même pas effectuer un tri formel sur les nombres supérieurs à deux chiffres. En quoi est-elle différente du poisson salé ?
Voici le point important : sort() peut recevoir un rappel (a, b) qui porte deux paramètres formels, c'est-à-dire que a et b sont deux éléments dont la taille est sur le point d'être comparée, et il doit y avoir un retour valeur.
Lorsque la valeur de retour du rappel est un nombre positif, alors b sera disposé avant a
Lorsque la valeur de retour du rappel est un nombre négatif, alors a sera disposé avant b ; Lors du rappel Lorsque la valeur de retour est 0, alors les positions de a et b restent inchangées
Chaque fois que le tri est exécuté, les positions des deux paramètres a et b dans le tableau d'origine seront échangées en fonction de la valeur de retour ; ;
Après avoir lu ce qui précède, vous serez dérouté par la description. Vous demanderez certainement où est la valeur de retour ? Qui est le paramètre réel du paramètre a b ? Une fois que vous avez compris le code suivant, tout cela devient un jeu d’enfant !
//sort 内部写法 let Arr = [56, 21, 29, 105, 45] Arr.sort(function(a, b) { //callback if (a > b) { // a b 分别是Arr中的 56 21 return 1 //返回正数 ,b排列在a之前 } else { return -1 //返回负数 ,a排列在b之前 } }) console.log(Arr) //[21, 29, 45, 55, 105]
Parlons des valeurs de retour : les valeurs de retour 1 et -1 écrites dans le code ci-dessus ne sont que des représentations symboliques de 1 étant un nombre positif et -1 étant un nombre négatif, quelle que soit la valeur de retour que vous écrivez dans le code. , le tri déterminera uniquement en interne si votre valeur de retour est positive. Le nombre est toujours un nombre négatif. Même si l'équation est vraie, elle renvoie 100 ou si ce n'est pas le cas, elle renvoie -10 000.
Explication de l'abréviation :
//简写 最终版 let Arr = [56, 21, 88, 10, 5, 77] Arr.sort((a, b) => a - b) //箭头函数不加大括号指向这个函数的返回值,可以不写return关键字 console.log(Arr) //[5, 10, 21, 56, 77, 88]
Exemple 56 - 21. = Si 35 est un nombre positif, la valeur de retour est un nombre positif, et le nombre positif représente un changement de position
21 - 88 = 35 est un nombre négatif, la valeur de retour est un nombre négatif, et le nombre négatif ; représente un changement de position ;
Si en mathématiques, grand nombre - décimal ≠ nombres positifs, décimaux - grands nombres ≠ nombres négatifs ne peuvent pas être abrégés ainsi. Il devrait donc être clair que le tri se compare en interne plutôt que de se soustraire
[Recommandations associées :
tutoriel vidéo javascript,
front-end web] ;
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!