Effizientes Entfernen von Elementen basierend auf einem anderen Array [Duplikat]
In JavaScript können Elemente aus einem Array entfernt werden, die in einem anderen Array vorhanden sind eine Herausforderung sein. Ein häufig verwendeter Ansatz besteht darin, die Methoden grep() und inArray() von jQuery zu verwenden. Es gibt jedoch reine JavaScript-Lösungen, die das gleiche Ergebnis ohne Schleifen oder Spleißen erzielen können.
Eine Methode besteht darin, die Methode Array.filter() zu verwenden, die das Array durchläuft und Elemente basierend auf einem angegebenen Wert herausfiltert Zustand. In diesem Fall ist die Bedingung, ob das Element nicht im toRemove-Array vorhanden ist.
<code class="javascript">myArray = myArray.filter(function(el) { return toRemove.indexOf(el) < 0; });
Da sich die Browserunterstützung für Array.includes() verbessert hat, kann es zur weiteren Vereinfachung des Codes verwendet werden:
<code class="javascript">myArray = myArray.filter(function(el) { return !toRemove.includes(el); });
Eine weitere Anpassung mithilfe von Pfeilfunktionen ergibt noch prägnanteren Code:
<code class="javascript">myArray = myArray.filter((el) => !toRemove.includes(el));</code>
Diese Methoden bieten eine effiziente und flexible Möglichkeit, Elemente aus einem Array basierend auf Kriterien zu entfernen, die in einem anderen Array ohne definiert sind die Notwendigkeit von Schleifen oder Array-Manipulationen.
Das obige ist der detaillierte Inhalt vonWie entferne ich effizient Elemente aus einem Array, das auf einem anderen Array in JavaScript basiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!