Maison > interface Web > js tutoriel > Comment trier un tableau JavaScript en fonction de l'ordre d'un autre tableau sans utiliser d'identifiants ?

Comment trier un tableau JavaScript en fonction de l'ordre d'un autre tableau sans utiliser d'identifiants ?

Susan Sarandon
Libérer: 2024-12-12 11:46:13
original
990 Les gens l'ont consulté

How to Sort a JavaScript Array Based on Another Array's Order Without Using IDs?

Trier un tableau JavaScript en fonction de l'ordre d'un autre tableau sans identifiants

Considérez le scénario suivant : vous disposez de deux tableaux, itemsArray et sortingArr. itemsArray contient des paires nom-lettre, comme ['Anne', 'a'], tandis que sortingArr spécifie l'ordre des lettres souhaité, par exemple, ['b', 'c', 'b', 'b', 'a', 'd'].

Le but est de réorganiser itemsArray pour que son ordre corresponde autant que possible à celui de sortingArr, malgré l'absence d'unicité identifiants.

Un moyen élégant et efficace d'y parvenir consiste à utiliser la méthode de tri :

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

Dans cet extrait, la méthode de tri utilise une fonction de comparaison personnalisée pour comparer chaque élément dans itemsArray. La fonction renvoie la différence entre l'index de l'élément actuel dans sortingArr et l'index de l'autre élément. Cette comparaison garantit que les éléments portant la même lettre sont regroupés et classés selon sortingArr.

Le itemsArray de sortie sera réorganisé comme suit :

[
  ["Bob", "b"],
  ["Jason", "c"],
  ["Henry", "b"],
  ["Thomas", "b"]
  ["Anne", "a"],
  ["Andrew", "d"],
]
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!

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