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; }
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']
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!