CoffeeScript - 推送后删除项目

时间:2012-06-12 19:45:12

标签: coffeescript

如何从使用push

推入的数组中删除元素
animals = []

class Cat

cat = new Cat

animals.push cat

现在可以说像

这样的话
animals.pull cat

把猫带离阵列?假设cat变量与推入内部的变量相同。我只想创建一种动态集合..

3 个答案:

答案 0 :(得分:5)

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

请记住,CoffeeScript数组只是一个JavaScript数组,因此您可以查看any appropriate documentation

答案 1 :(得分:4)

如果push是数组的元素,则会在最后一个位置添加它。然后你可以pop回来。如果要使用数组建模stack,这两种方法很有用。

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 []

答案 2 :(得分:1)

你可以这样做:

animals = []

class Cat

cat = new Cat

animals.push cat

anotherReferenceToCat = animals.pop()

# animals.length === 0