Maison > interface Web > js tutoriel > Comment générer toutes les combinaisons possibles de valeurs dans des tableaux JavaScript ?

Comment générer toutes les combinaisons possibles de valeurs dans des tableaux JavaScript ?

Patricia Arquette
Libérer: 2024-11-03 17:34:30
original
302 Les gens l'ont consulté

How to Generate All Possible Combinations of Values in JavaScript Arrays?

Trouver des combinaisons de valeurs de tableaux JavaScript

Un défi souvent rencontré en JavaScript consiste à trouver toutes les combinaisons possibles de valeurs dans plusieurs tableaux de longueurs variables. Ceci est distinct des permutations, où l'ordre des éléments compte.

Pour résoudre ce problème, nous utilisons une approche récursive :

<code class="javascript">function allPossibleCases(arr) {
  if (arr.length === 1) {
    return arr[0];
  } else {
    var result = [];
    var allCasesOfRest = allPossibleCases(arr.slice(1));  // recur with the rest of array
    for (var c in allCasesOfRest) {
      for (var i = 0; i < arr[0].length; i++) {
        result.push(arr[0][i] + allCasesOfRest[c]);
      }
    }
    return result;
  }
}</code>
Copier après la connexion

Considérons un exemple avec trois tableaux :

<code class="javascript">var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']];</code>
Copier après la connexion

L'appel de allPossibleCases(allArrays) affichera :

["acd", "bcd", "azd", "bzd", "ace", "bce", "aze", "bze", "acf", "bcf", "azf", "bzf"]
Copier après la connexion

Cette méthode combine efficacement tous les éléments des tableaux d'entrée pour générer toutes les combinaisons possibles, répondant ainsi à l'exigence posée dans la requête d'origine.

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