Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   функция удаления элемента массива (https://javascript.ru/forum/jquery/31397-funkciya-udaleniya-ehlementa-massiva.html)

Кирюха =) 05.09.2012 22:19

функция удаления элемента массива
 
Всем привет! Есть массив.Нужно удалить элемент который равен переменной peremen. При чем индексы массива должны остаться как "по умолчанию", т.е. 0 1 2, а не так что бы индекс удалянного массива отсутсвовал. 0 1 3.....
var mass[]=56;
mass[]=74;
mass[]=33;
var perem=74;

Кирюха =) 05.09.2012 23:03

Таковой функции не имеется что ли?

oneguy 05.09.2012 23:27

Для этого есть метод Array.prototype.splice.
mass[] - это неправильный синтаксис, квадратные скобки не должны быть пустыми.

Aetae 06.09.2012 00:50

var foo = [
    56,
    74,
    33
],
bar = 74;
alert(foo);
foo.splice( foo.indexOf( bar ), 1 );
alert(foo);

Только indexOf не работает в старых ослах, потому придётся там заменять его на цикл, или делать свою версию функции.

oneguy 06.09.2012 00:54

Aetae,
в 8-ой строчке в foo.splice второй аргумент должен быть 1, иначе удаляет элементы до конца массива.
var foo = [
    56,
    74,
    33
],
bar = 74;
alert(foo);
foo.splice( foo.indexOf( bar ), 1 );
alert(foo);

Aetae 06.09.2012 01:17

Цитата:

Сообщение от oneguy (Сообщение 203259)
Aetae,
в 8-ой строчке в foo.splice второй аргумент должен быть 1, иначе удаляет элементы до конца массива.

Да я пофиксил сразу, даж о том что пост редактировался не написало.)


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