Recherche de toutes les combinaisons (produit cartésien) de valeurs de tableau JavaScript
Pour déterminer toutes les combinaisons de valeurs dans un ensemble de tableaux JavaScript, nous employons récursivité. Contrairement aux permutations, ce processus cherche à combiner des éléments sur plusieurs tableaux plutôt que de réorganiser les éléments dans un seul tableau.
Voici une solution récursive qui génère le produit cartésien des tableaux donnés :
<code class="js">function allPossibleCases(arr) { if (arr.length === 0) { return []; } else if (arr.length === 1) { return arr[0]; } else { var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); 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; } }</code>
Par exemple, étant donné les tableaux d'entrée :
<code class="js">var first = ['a', 'b', 'c', 'd']; var second = ['e']; var third = ['f', 'g', 'h', 'i', 'j'];</code>
La fonction allPossibleCases produirait les combinaisons suivantes :
aef aeg aeh aei aej bef beg
... et ainsi de suite, produisant toutes les combinaisons possibles d'éléments du trois tableaux d'entrée.
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!