Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie filtere ich ein Array aus Elementen eines anderen Arrays in JavaScript?

Susan Sarandon
Freigeben: 2024-11-17 11:11:02
Original
876 Leute haben es durchsucht

How to Filter an Array from Elements of Another Array in JavaScript?

Filtern eines Arrays mit der Filterfunktion

Das Filtern eines Arrays aus allen Elementen eines anderen Arrays ist eine häufige Programmieraufgabe. In JavaScript würde man dazu normalerweise die Funktion .filter() verwenden. Allerdings kann es eine Herausforderung sein, zu verstehen, wie man der Funktion die zu entfernenden Werte bereitstellt.

Stellen Sie sich das folgende Szenario vor:

var array = [1,2,3,4];
var anotherOne = [2,4];
var filteredArray = array.filter(myCallback);
// filteredArray should now be [1,3]


function myCallBack(){
    return element ! filteredArray; 
    //which clearly can't work since we don't have the reference <,< 
}
Nach dem Login kopieren

Im obigen Beispiel versucht die Funktion myCallBack, ein Element zurückzugeben Das ist im gefilterten Array nicht vorhanden, aber diese Logik funktioniert nicht, da filteredArray beim Aufruf der Funktion noch nicht definiert ist.

Verwendung des Filters Funktion

Um ein Array mit der Funktion filter() zu filtern, sollte man eine Rückruffunktion übergeben, die für Elemente, die in das gefilterte Array aufgenommen werden sollen, „true“ und für Elemente, die entfernt werden sollen, „false“ zurückgibt. Das gefilterte Array wird dann erstellt, indem die Callback-Funktion auf jedes Element des ursprünglichen Arrays angewendet wird.

Im Fall des Filterns eines Arrays aus allen Elementen eines anderen Arrays kann die Callback-Funktion vereinfacht werden, wie in der Abbildung gezeigt Folgender Code:

var arr1 = [1,2,3,4],
    arr2 = [2,4],
    res = arr1.filter(item => !arr2.includes(item));
console.log(res); // Output: [1,3]
Nach dem Login kopieren

Hier durchläuft die Funktion filter() arr1 und ruft die Rückruffunktion für jedes Element auf. Die Callback-Funktion item => !arr2.includes(item) gibt true für Elemente zurück, die in arr2 nicht vorhanden sind, andernfalls false. Infolgedessen enthält das gefilterte Array res nur die Elemente [1,3], die nicht in arr2.

sind

Das obige ist der detaillierte Inhalt vonWie filtere ich ein Array aus Elementen eines anderen Arrays in JavaScript?. 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