Maison > interface Web > js tutoriel > Comment puis-je trier un tableau en fonction de l'ordre d'un autre tableau en JavaScript ?

Comment puis-je trier un tableau en fonction de l'ordre d'un autre tableau en JavaScript ?

Patricia Arquette
Libérer: 2024-12-23 01:18:11
original
513 Les gens l'ont consulté

How Can I Sort One Array Based on the Order of Another Array in JavaScript?

Réorganisation des tableaux en fonction de valeurs auxiliaires

En JavaScript, il peut y avoir des scénarios dans lesquels vous devez trier un tableau en fonction de l'ordre spécifié par un autre tableau. Cela peut être particulièrement utile lorsque vous travaillez avec des structures de données où l'ordre des éléments est crucial.

Considérez l'exemple suivant :

itemsArray = [
    ['Anne', 'a'],
    ['Bob', 'b'],
    ['Henry', 'b'],
    ['Andrew', 'd'],
    ['Jason', 'c'],
    ['Thomas', 'b']
];
sortingArr = [ 'b', 'c', 'b', 'b', 'a', 'd' ];
Copier après la connexion

Dans ce cas, l'objectif est de réorganiser les élémentsArray en correspondre à l’ordre du sortingArr. Malheureusement, il n'y a pas d'identifiants pour suivre les éléments, la priorité est donc de faire correspondre au plus près la commande.

Solution :

Pour y parvenir, vous pouvez exploitez la méthode sort() intégrée de JavaScript en conjonction avec une fonction de comparaison personnalisée. La fonction de comparaison compare deux éléments de itemsArray en fonction de leurs valeurs correspondantes dans sortingArr.

itemsArray.sort(function(a, b){  
  return sortingArr.indexOf(a) - sortingArr.indexOf(b);
});
Copier après la connexion

Cette expression trie essentiellement itemsArray en fonction des indices correspondants de ses éléments dans sortingArr. En conséquence, le tableau réorganisé ressemblera à ce qui suit :

itemsArray = [
    ['Bob', 'b'],
    ['Jason', 'c'],
    ['Henry', 'b'],
    ['Thomas', 'b']
    ['Anne', 'a'],
    ['Andrew', 'd'],
];
Copier après la connexion

Cette solution donne la priorité à l'ordre spécifié par sortingArr et génère le itemsArray dans l'arrangement souhaité.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal