Ich habe folgende Funktion. Es wird erwartet, dass Element in Array an Position Nr. eingefügt wird. Wenn Element eingefügt wird, wird das letzte Element des Arrays gelöscht, d. H. Array muss immer die gleiche Länge haben. Array wird aus der String-Sitzungsvariablen itemstr mit split() übernommen. Das allererste Element des Arrays soll nie geändert werden, daher rufe ich diese Funktion immer mit n===1
auf. Das Problem ist, dass die Funktion nicht im Sinne von splice()
eingefügt wird. Es ändert sich einfach den Wert des Elements #noJS: Element in Array einfügen
function insert_into_array(no, item)
{
var itemarr = sessionStorage.itemstr.split(',');
if ((no < itemarr.length) && (no > 0)) {
var i;
for (i === itemarr.length - 1; i > no; i--) {
itemarr[i] = itemarr[i - 1];
}
itemarr[no] = item;
sessionStorage.itemstr = itemarr.toString();
}
}
Gibt es einen Grund, warum Sie 'Spleiß' vermeiden? – Paulpro
Wenn ein Element eingefügt wird, wird das letzte Element des Arrays gelöscht. Hat das Array eine feste Länge? – brk
'===' anstelle von '=' – 1983