Heim  >  Artikel  >  Web-Frontend  >  ## Wie kann man gemeinsame Elemente in mehreren JavaScript-Arrays effizient finden?

## Wie kann man gemeinsame Elemente in mehreren JavaScript-Arrays effizient finden?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 07:17:29578Durchsuche

## How to Efficiently Find Common Elements Across Multiple JavaScript Arrays?

Gemeinsame Elemente in mehreren JavaScript-Arrays finden

In JavaScript ist das Vergleichen von Arrays auf übereinstimmende Elemente und das Abrufen nur der gemeinsamen Werte eine häufig anzutreffende Aufgabe . Betrachten Sie die folgende Herausforderung: Finden Sie bei mehreren Arrays mit Zeichenfolgewerten die Elemente, die in allen identisch sind, und zeigen Sie sie an.

Um dies zu erreichen, können wir das Konzept der funktionalen Programmierung in JavaScript nutzen. So können Sie dies effizient erreichen, ohne externe Bibliotheken zu verwenden:

var result = arrays.shift().filter(function(v) {
    return arrays.every(function(a) {
        return a.indexOf(v) !== -1;
    });
});

Dieser Code nutzt die Methode filter(), die ein neues Array mit Elementen erstellt, die eine bestimmte Bedingung erfüllen . Die Bedingung hierbei ist, dass jedes Element in jedem Array vorhanden sein sollte. Die every()-Methode stellt dies sicher, indem sie prüft, ob alle Arrays das auszuwertende Element enthalten.

Zum Beispiel bei den folgenden Arrays:

var arr1 = ['apple', 'orange', 'banana', 'pear', 'fish', 'pancake', 'taco', 'pizza'];
var arr2 = ['taco', 'fish', 'apple', 'pizza'];
var arr3 = ['banana', 'pizza', 'fish', 'apple'];

Das Ergebnis wird be:

['apple', 'fish', 'pizza']

Diese Lösung ist relativ prägnant und verarbeitet Arrays unterschiedlicher Länge, ohne Duplikate einzuführen. Es ist wichtig zu beachten, dass die Arrays für eine optimale Leistung in aufsteigender Reihenfolge sortiert werden sollten.

Das obige ist der detaillierte Inhalt von## Wie kann man gemeinsame Elemente in mehreren JavaScript-Arrays effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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