L'exemple de cet article décrit comment js utilise Array.prototype.sort() pour trier les objets du tableau. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Lorsque nous parlons de tri des objets de tableau, jetons d'abord un bref coup d'œil à Array.prototype.sort(). La méthode de tri accepte un paramètre - Fonction. La fonction fournira deux paramètres, qui sont deux éléments à comparer. Si l'élément est de type String, il sera comparé via le code Unicode. S'il est de type Number, la taille de. la valeur sera comparée. Si la fonction de comparaison renvoie 1, les deux éléments échangent leurs positions 0 et -1 n'échangent pas leurs positions. Regardons d'abord un exemple :
var arr = [3, 5, 2, 1] ;
// Trier du petit au grand
arr.sort(fonction (a, b) {
Retourner a > 1 : -1;
});
// Résultat obtenu : [1, 2, 3, 5]
Revenons donc à notre sujet, si nous trions un objet tableau, comment devons-nous l'écrire ? En fait, le principe est le même que ci-dessus, comme par exemple :
var arr = [
{ a : 2, b : 3.2},
{ a : 3, b : 1.2},
{ a : 4, b : 2.2},
{ a : 6, b : 1.2},
{ a : 5, b : 3.2>
]
/// Trier par attribut b du petit au grand
arr.sort(fonction(x, y){
Retourner x.b > y.b ?
});
x et y sont un élément de arr, c'est-à-dire un objet, il suffit donc de comparer directement les propriétés des deux objets.
Dans l'exemple ci-dessus, il y a des doublons dans le plus petit élément. Si l'exigence est la suivante : triez d'abord par l'attribut b de petit à grand, et s'il y a des doublons dans le plus petit élément, triez ensuite par l'attribut a Comment. dois-je l'écrire ?
Lors du tri, triez d'abord par l'attribut b. Si x.b est supérieur à y.b, déplacez x à droite de y. Si x.b est égal à y.b, comparez x.a et y.a, donc le code est le suivant :
arr.sort(function (x, y) {
Si (x.b > y.b) {
Retour 1 ;
} sinon si (x.b === y.b) {
return x.a > y.a 1 : -1 ;
} sinon si (x.b < y.b) {
return -1;
>
})
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.