En JavaScript, générer des combinaisons à partir de tableaux de différentes tailles peut être une tâche complexe. Explorons une solution utilisant une fonction d'assistance récursive.
La fonction cartésienne prend un nombre arbitraire de tableaux comme paramètres et renvoie un tableau de toutes les combinaisons possibles. Il utilise une fonction d'assistance récursive, helper, qui parcourt chaque élément d'un tableau et le pousse vers une version clonée de la combinaison actuelle. Si le tableau actuel n'est pas le dernier, il appelle récursivement helper pour générer toutes les combinaisons pour les tableaux restants.
La fonction cartésienne peut être utilisée comme suit :
cartesian([0,1], [0,1,2,3], [0,1,2]);
Cela produira les combinaisons souhaitées :
[0,0,0], [0,0,1], [0,0,2], [0,1,0], [0,1,1], [0,1,2], [0,2,0], [0,2,1], [0,2,2]
Pour utiliser cette solution avec un tableau de tableaux, passez simplement le tableau comme paramètre unique de la fonction cartésienne. La fonction d'assistance parcourra automatiquement les tableaux imbriqués pour générer toutes les combinaisons possibles.
var data = [[0,1], [0,1,2,3], [0,1,2]]; var combinations = cartesian(data);
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!