Ich versuche, einen Wert aus einem Array mithilfe von Spleiß zu entfernen. beginnend bei 0 und endend bei 0 Spleiß, aber es entfernt nicht den Wert bei Index 0. Ich fügte eine Funktion getItemRow hinzu, um den Artenindex zu überprüfen, der 0 zurückgibt. Ich warf die Werte des Feldes in einen Alarm und es gibt noch Arten aus, die sollte gelöscht werden. invalidElement.splice (indexValue, indexValue); funktioniert wie erwartet für Indizes, die NICHT 0 sind. Warum passiert das und wie lösche ich den Wert mit dem Index 0?
JavaScript-Code:
%Vor%Splice kann in zwei Modi arbeiten; Objekte entfernen oder einfügen.
Beim Entfernen von Elementen geben Sie zwei Parameter an: splice(index, length)
, wobei index der Startindex ist, und length eine positive Anzahl zu entfernender Elemente ist (fyi: eine "0" zu übergeben, wie in Ihrem Beispiel, tut nichts - -es sagt "entferne null Gegenstände, beginnend am Index"). In Ihrem Fall werden Sie wollen:
Beim Einfügen von Elementen geben Sie (mindestens) drei Parameter an: splice(index, length, newElement, *additionalNewElements*)
. In dieser Überladung übergeben Sie normalerweise 0
als zweiten Parameter, dh, fügen Sie die neuen Elemente zwischen die vorhandenen Elemente ein.
Es gibt auch eine praktische Funktion zum Entfernen des ersten Elements in einem Array:
%Vor%Siehe: Ссылка .
Mozilla Dev Center - Array.splice gibt an, dass der zweite Parameter "howMany" lautet 'zu entfernende Elemente.
Ich bin mir nicht sicher, wie Ihr Code funktioniert hat, wenn er im indexValue als Anzahl der zu entfernenden Elemente übergeben wurde, es sei denn, Sie haben ihn vom Ende des Arrays entfernt.
Tags und Links javascript arrays splice