Maison > interface Web > js tutoriel > Comment trier un tableau 2D en JavaScript par valeur de colonne ?

Comment trier un tableau 2D en JavaScript par valeur de colonne ?

DDD
Libérer: 2024-11-30 11:19:13
original
992 Les gens l'ont consulté

How to Sort a 2D Array in JavaScript by Column Value?

Tri d'un tableau 2D par valeur de colonne en JavaScript

Problème :
Comment puis-je trier un tableau 2D en JavaScript en fonction de la valeurs dans une colonne spécifique ?

Code Extrait :
Pour trier un tableau 2D par la première colonne, utilisez le code suivant :

var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']];

a.sort(sortFunction);

function sortFunction(a, b) {
    if (a[0] === b[0]) {
        return 0;
    }
    else {
        return (a[0] < b[0]) ? -1 : 1;
    }
}
Copier après la connexion

Explication :
La méthode sort() trie un tableau en place. Dans ce cas, nous passons une sortFunction qui compare les premiers éléments des deux tableaux a et b et renvoie -1 si a doit venir avant b, 1 si b doit venir avant a, ou 0 s'ils sont égaux.

Tri par la deuxième colonne :
Pour trier par la deuxième colonne, remplacez la fonction sort par la suivant :

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] < b[1]) ? -1 : 1;
    }
}
Copier après la connexion

Sortie :
Le tableau trié ressemblera à ceci :

[
  [12, 'AAA'],
  [18, 'DDD'],
  [28, 'CCC'],
  [58, 'BBB']
]
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal