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
DDDoriginal
2024-11-30 11:19:13879parcourir

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;
    }
}

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;
    }
}

Sortie :
Le tableau trié ressemblera à ceci :

[
  [12, 'AAA'],
  [18, 'DDD'],
  [28, 'CCC'],
  [58, 'BBB']
]

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:
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