Maison >interface Web >js tutoriel >Comment générer toutes les combinaisons (produit cartésien) de valeurs dans des tableaux JavaScript ?
Produit cartésien des valeurs de tableau JavaScript
Problème :
Étant donné un nombre arbitraire de JavaScript des tableaux de différentes longueurs, déterminent toutes les combinaisons (produit cartésien) de leurs valeurs.
Solution :
Cette tâche peut être résolue efficacement en utilisant la récursivité. Cela implique de parcourir chaque tableau et de combiner ses valeurs avec toutes les combinaisons possibles des tableaux restants.
Considérez l'implémentation suivante :
function allPossibleCases(arr) { if (arr.length === 1) { return arr[0]; } else { const result = []; const casesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of arr casesOfRest.forEach((c) => { for (let i = 0; i < arr[0].length; i++) { result.push(arr[0][i] + c); } }); return result; } }
Utilisation :
var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']]; var results = allPossibleCases(allArrays); // outputs ["acd", "bcd", "azd", ...]
Explication :
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!