2010-01-12 24 views
11

Estoy tratando de eliminar un objeto de una matriz, pero por alguna razón no está funcionando. Tengo la impresión de que un empalme acepta 2 parámetros: primero, la posición en la matriz para comenzar en. Y para el parámetro 2, cuántos borrar de allí en adelante.Descripción de Array :: empalme en ActionScript 3

sólo quiero borrar una entrada, así que estoy haciendo esto:

array.splice(i,0); 

Pero no está funcionando. ¿Puede alguien decirme lo que estoy haciendo mal e iluminarme sobre cómo se supone que debe funcionar?

+0

tampoco estoy feliz por [ 'array.splice'] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html#splice()) – n4pgamer

Respuesta

40

Si desea eliminar un elemento, llame al splice(index, 1).

+0

Me ganaste ... – Moshe

7

Su código eliminará cero cosas es lo que está describiendo. Cambiar el segundo parámetro a un 1:

array.splice(i,1); 
4

Podemos hacer dos cosas con el método de empalme.

  1. Para eliminar el primer elemento de la matriz. arrayName.splice (índice, no de elemento)

    i.e myArr.splice (0,1); // es eliminar primer elemento de la matriz

    Nota: El índice del campo parten de 0,1,2 y así sucesivamente ....

  2. Para añadir elementos en una matriz. arrayName.splice (índice para agregar, 0, elem1, elem2) es decir myArr.splice (0,0, "A", "B"); Nota: agrega A, B en myArr start desde la posición cero y cambia el índice del elemento existente no.

2

La mejor manera de eliminar el primer elementode una matriz es el uso de shift()

myArray.shift(); 

Puede añadir un elemento en el comienzo de la matriz también usando unshift().

myArray.unshift(item);