Heim > Web-Frontend > js-Tutorial > Warum schlägt das Entfernen von Duplikaten aus einem JavaScript-Array mit Null fehl?

Warum schlägt das Entfernen von Duplikaten aus einem JavaScript-Array mit Null fehl?

Susan Sarandon
Freigeben: 2024-12-22 13:45:33
Original
207 Leute haben es durchsucht

Why Does Removing Duplicates from a JavaScript Array Fail with Zero?

Duplikate aus einem JavaScript-Array entfernen: Der mysteriöse Nullfehler

Bei der Arbeit mit Arrays in JavaScript ist es oft wichtig, sicherzustellen, dass die Werte eindeutig sind. Allerdings kann es verwirrend sein, beim Umgang mit Nullwerten auf einen Fehler zu stoßen. Lassen Sie uns das Problem und seine Lösung untersuchen.

Das bereitgestellte Code-Snippet verwendet die Funktion Array.prototype.getUnique, um Duplikate zu entfernen:

Array.prototype.getUnique = function() {
 var o = {}, a = [], i, e;
 for (i = 0; e = this[i]; i++) {o[e] = 1};
 for (e in o) {a.push (e)};
 return a;
}
Nach dem Login kopieren

Obwohl diese Funktion in den meisten Fällen einwandfrei funktioniert, gerät sie ins Stocken wenn das Array eine Null enthält. Um dieses Problem zu lösen, können wir die native Filtermethode eines Arrays nutzen, die in JavaScript 1.6/ECMAScript 5 eingeführt wurde:

function onlyUnique(value, index, array) {
  return array.indexOf(value) === index;
}

// usage example:
var a = ['a', 1, 'a', 2, '1'];
var unique = a.filter(onlyUnique);

console.log(unique); // ['a', 1, 2, '1']
Nach dem Login kopieren

In dieser Lösung stellt die Funktion onlyUnique sicher, dass jeder Wert nur einmal im resultierenden Array erscheint . Bei Verwendung mit der Filtermethode werden Duplikate, einschließlich Null, effektiv entfernt.

Das obige ist der detaillierte Inhalt vonWarum schlägt das Entfernen von Duplikaten aus einem JavaScript-Array mit Null fehl?. 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