Maison >interface Web >js tutoriel >Comment puis-je trier un tableau en fonction de l'ordre d'un autre tableau en 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' ];
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); });
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'], ];
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!