Maison >interface Web >js tutoriel >Comment générer toutes les combinaisons (produit cartésien) de valeurs à partir de tableaux JavaScript ?
Recherche de toutes les combinaisons (produit cartésien) de valeurs de tableau JavaScript
La production de toutes les combinaisons de valeurs à partir de plusieurs tableaux en JavaScript peut être réalisée grâce au concept de produit cartésien. Voici comment vous pouvez l'aborder :
Récursion pour le produit cartésien
Pour générer toutes les combinaisons, nous pouvons utiliser une fonction récursive qui parcourt chaque tableau et combine les éléments de tous les tableaux.
Voici un exemple de fonction récursive qui trouve le produit cartésien de plusieurs tableaux :
return arr[0];
} else {
var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array for (var i = 0; i < allCasesOfRest.length; i++) { for (var j = 0; j < arr[0].length; j++) { result.push(arr[0][j] + allCasesOfRest[i]); } } return result;
}
}
Exemple d'utilisation
Disons que vous avez trois tableaux :
var first = ['a', 'b'], <br>var seconde = ['c'],<br>var troisième = ['d', 'e', 'f'];
En utilisant la fonction allPossibleCases, vous pouvez générer toutes les combinaisons comme suit :
var allArrays = [premier, deuxième, troisième];<br>console.log(allPossibleCases(allArrays));
acd ace acf bcd bce bcf azd aze azf bzd bze bzf
Remarque : L'ordre des éléments dans chaque combinaison peut varier en fonction de l'ordre des tableaux dans la variable allArrays.
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!