JavaScript - Entfernen von Duplikaten aus einem Array
Hallo liebe Programmierer! 👋 😊
In diesem kurzen Artikel möchte ich zeigen, wie doppelte Elementen aus einem Array in JavaScript entfernt werden können.
Als Schnelllösung habe ich die eingebaute filter()
- Funktion verwendet, die zur Verbesserung der funktionalen Programmieren hinzugefügt wurde.
Wenn ein Index mit demselben Wert an einer anderen Position gefunden wird, wird er nicht gespeichert (mit anderen Worten - es werden nur die zuerst aufgetretenen Elemente festgehalten, die nachfolgenden werden nicht berücksichtigt).
Lauffähiges Beispiel:
xxxxxxxxxx
const array = [1, 2, 3, 1, 1, 2, 2, 3, 3];
const result = array.filter((item, index, array) => array.indexOf(item) === index);
console.log(JSON.stringify(result)); // [1,2,3]
Bei dieser Vorgehensweise habe ich ein blocker
-Objekt verwendet, das eine Karte der bereits aufgetretenen Elemente darstellt. Die for
-Schleife iteriert nur einmal durch alle Elemente, die der Karte hinzugefügt werden, und wenn ein Element bereits erschienen ist, wird es nicht erneut hinzugefügt.
Diese Lösung ist optimaler, weil sie eine niedrigere Berechnungskomplexität hat.. 📉✅
Lauffähiges Beispiel:
xxxxxxxxxx
const removeDuplicates = (array) => {
const result = [];
const blocker = {}; // Es schützt vor der Duplizierung von Elementen
for (const item of array) {
if (blocker.hasOwnProperty(item)) {
continue;
}
blocker[item] = true;
result.push(item);
}
return result;
};
// Verwendungsbeispiel:
const array = [1, 2, 3, 1, 1, 2, 2, 3, 3];
const uniqueItems = removeDuplicates(array);
console.log(JSON.stringify(uniqueItems)); // [1,2,3]
Vielen Dank für eure Zeit! Ich hoffe, dass die Lösung hilfreich war. 😊
Bis in die kommenden Beiträge! 🔥🔜