Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   удаление элемента массива и его длина (https://javascript.ru/forum/misc/39936-udalenie-ehlementa-massiva-i-ego-dlina.html)

Esigns 17.07.2013 17:06

удаление элемента массива и его длина
 
Нужно удалять, добавлять элементы массива, но их не должно быть больше 5, т.е нужно проверять длину.
Удаляю из елемента так:
userArr.splice(id,1);
Вроде работает норм, но потом появляются undefined, т.е длина +1
delete userArr[id]; тулит undefined и все.
[undefined, undefined] длина 2;

Есть ли нормальный способ удалить элемент из масива, чтобы не было undefined и другого мусора?
Спасибо.

Esigns 17.07.2013 17:11

А все кажись это масив заполняется пустыми значениями сам по себе.
Если к примеру arr[1] = 213 и arr[5] = 213 длина такого масива будет больше 2, так как все промежуточные значения undefined
Не логично как то сделан ленгс масива. Придется вручную перебирать, или переменную счетчик вводить.

danik.js 17.07.2013 17:52

Массивы в js не поддерживают "окна" такого рода. Используй объект.
var arr = {length:0};
arr[1] = 213i;
arr.length += 1;
arr[5] = 213;
arr.length += 1;

Esigns 17.07.2013 19:23

Спс. Буду знать на будущее


Часовой пояс GMT +3, время: 14:18.