CoffeeScript: elimina un elemento una vez presionado

¿Cómo puedo eliminar un elemento de la matriz que se insertó con push?

animals = []

class Cat

cat = new Cat

animals.push cat

ahora puedo decir algo como

animals.pull cat

para quitar el gato de la matriz? Suponiendo que el cat variable es la misma que se empujó dentro. Solo estoy tratando de crear una especie de colección dinámica.

preguntado el 12 de junio de 12 a las 20:06

3 Respuestas

index = animals.indexOf cat
animals.splice index, 1 if index isnt -1

Recuerde, una matriz CoffeeScript es solo una matriz JavaScript, por lo que puede ver cualquier documentación apropiada.

Respondido el 12 de junio de 12 a las 20:06

Si push un elemento a una matriz, se agrega en la última posición. entonces puedes pop de vuelta Estos dos métodos son útiles si desea modelar un montón con una matriz.

array = []

array.push 'hello' # array is now ['hello']
array.push 'world' # array is now ['hello', 'world']

alert array.pop() # alerts 'world', array is now ['hello']
alert array.pop() # alerts 'hello', array is now []

Respondido el 12 de junio de 12 a las 21:06

Podrías hacerlo:

animals = []

class Cat

cat = new Cat

animals.push cat

anotherReferenceToCat = animals.pop()

# animals.length === 0

Respondido el 12 de junio de 12 a las 23:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.