Heim > Web-Frontend > js-Tutorial > Wie generiert man alle möglichen Wertekombinationen in JavaScript-Arrays?

Wie generiert man alle möglichen Wertekombinationen in JavaScript-Arrays?

Patricia Arquette
Freigeben: 2024-11-03 17:34:30
Original
302 Leute haben es durchsucht

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

Kombinationen von JavaScript-Array-Werten finden

Eine in JavaScript häufig auftretende Herausforderung besteht darin, alle möglichen Wertekombinationen über mehrere Arrays unterschiedlicher Länge hinweg zu finden. Dies unterscheidet sich von Permutationen, bei denen die Reihenfolge der Elemente eine Rolle spielt.

Um dieses Problem zu lösen, verwenden wir einen rekursiven Ansatz:

<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>
Nach dem Login kopieren

Betrachten Sie ein Beispiel mit drei Arrays:

<code class="javascript">var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']];</code>
Nach dem Login kopieren

Der Aufruf von allPossibleCases(allArrays) gibt Folgendes aus:

["acd", "bcd", "azd", "bzd", "ace", "bce", "aze", "bze", "acf", "bcf", "azf", "bzf"]
Nach dem Login kopieren

Diese Methode kombiniert effektiv alle Elemente aus den Eingabearrays, um alle möglichen Kombinationen zu generieren und erfüllt so die in der ursprünglichen Abfrage gestellte Anforderung.

Das obige ist der detaillierte Inhalt vonWie generiert man alle möglichen Wertekombinationen in JavaScript-Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage