У меня есть следующая функция. Ожидается, что вставить пункт в массив в позиции нет. Когда вставлен элемент, последний элемент массива отбрасывается, т. Е. Массив всегда должен иметь одинаковую длину. Массив берется из строковой переменной сеанса itemstr с использованием split(). Самый первый элемент массива никогда не будет изменен, поэтому я всегда вызываю эту функцию, начиная с n===1
. Проблема в том, что функция не вставляет в значение splice()
. Он просто изменяет значение элемента #noJS: вставка элемента в массив
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();
}
}
Есть ли причина, по которой вы избегаете использования «сращивания»? – Paulpro
Когда элемент вставлен, последний элемент массива отбрасывается. Массив имеет фиксированную длину? – brk
'===' вместо '=' – 1983