Javascript: Wie spleiße ich einen Wert von einem Array mit einem Index von 0?

8


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%     
dottedquad 03.03.2011, 01:19
quelle

4 Antworten

9

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:

%Vor%

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.

%Vor%     
STW 03.03.2011, 01:28
quelle
15

Ich denke du willst splice(0, 1) .

Das zweite Argument ist, wie viele Sie entfernt werden sollen ...

  

Eine Ganzzahl, die die Anzahl der zu entfernenden alten Array-Elemente angibt. Wenn howMany 0 ist, werden keine Elemente entfernt.

Quelle .

    
alex 03.03.2011 01:22
quelle
10

Es gibt auch eine praktische Funktion zum Entfernen des ersten Elements in einem Array:

%Vor%

Siehe: Ссылка .

    
David Tang 03.03.2011 01:24
quelle
0

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.

    
typo.pl 03.03.2011 01:24
quelle

Tags und Links