Понимание Array :: splice в ActionScript 3 - PullRequest
11 голосов
/ 12 января 2010

Я пытаюсь удалить объект из массива, но по какой-то причине он не работает. У меня сложилось впечатление, что соединение принимает 2 параметра: во-первых, позиция в массиве, с которого нужно начинать. А для параметра 2 сколько нужно удалить с этого момента.

Я просто хочу удалить одну запись, поэтому я делаю это:

array.splice(i,0);

Но это не работает. Может кто-нибудь сказать мне, что я делаю неправильно, и объяснить мне, как это должно работать.

Ответы [ 4 ]

40 голосов
/ 12 января 2010

Если вы хотите удалить один элемент, вы звоните splice(index, 1).

7 голосов
/ 12 января 2010

Ваш код удалит ноль вещей, это то, что вы описываете. Измените второй параметр на 1:

array.splice(i,1);
4 голосов
/ 24 февраля 2012

Мы можем сделать две вещи с помощью метода сращивания.

  1. Удалить первый элемент из массива. arrayName.splice (index, no of element)

    т.е. myArr.splice (0,1); // удаляем первый элемент из массива

    Примечание. Индекс массива начинается с 0,1,2 и т. Д. *

  2. Добавить элемент в массив. arrayName.splice (индекс для добавления, 0, elem1, elem2) то есть myArr.splice (0,0, "A", "B"); Примечание: он добавляет A, B в myArr, начиная с нулевой позиции и смещая номер индекса существующего элемента *

2 голосов
/ 04 октября 2013

Лучший способ удалить элемент first из массива - использовать shift()

myArray.shift();

Вы также можете добавить элемент в начало массива, используя unshift().

myArray.unshift( item );
...