Nicht eindeutige Werte in einem Array finden
Das Identifizieren doppelter Werte in einem JavaScript-Array ist eine häufige Aufgabe. Während das Durchlaufen des Arrays und der Vergleich jedes Elements mit den anderen wie ein unkomplizierter Ansatz erscheinen mag, kann es insbesondere bei großen Arrays ineffizient sein.
Eine optimierte Lösung besteht darin, das Array zuerst zu sortieren. Dieser Schritt reduziert die Komplexität von O(n^2) auf weniger als O(n^2), indem ähnliche Elemente gruppiert werden.
Sobald das Array sortiert ist, können Sie es durchlaufen und prüfen, ob das aktuelle Element vorhanden ist entspricht dem nächsten oder vorherigen Element. Wenn sie gleich sind, wird der Wert als Duplikat betrachtet und kann einer Ergebnisliste hinzugefügt werden.
const findDuplicates = (arr) => { let sorted_arr = arr.slice().sort(); let results = []; for (let i = 0; i < sorted_arr.length - 1; i++) { if (sorted_arr[i + 1] == sorted_arr[i]) { results.push(sorted_arr[i]); } } return results; };
Zum Beispiel ein Array wie [9, 9, 111, 2, 3, 4, 4, 5, 7] würde dieser Ansatz die doppelten Werte effizient identifizieren und zurückgeben: [9, 4].
Durch die Nutzung der Sortierung und des Vergleichs benachbarter Elemente bietet diese Lösung eine zeiteffiziente Methode zum Finden nicht eindeutiger Werte in einem Array.
Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Werte in einem JavaScript-Array effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!