我正在使用CoffeeScript以及JS splice函数.我对JS splice函数的理解是它应该返回拼接出来的对象并修改原始数组.这似乎适用于简单的数组,但是当我开始向数组添加对象时,事情就会崩溃.以下是带注释的简化案例:
并链接code
#Class that will go in array
class Thing
do: ->
alert "Hi"
a = new Thing
b = new Thing
arr = []
arr.push(a)
arr.push(b)
arr[0].do() # this works
result = arr.splice(0,1)
alert result.do() # this does not work
splice是否做了一些不起作用的东西?如果有人知道这种情况发生和/或解决的原因,我会非常感激,
解决方法:
Array.splice()
返回删除的元素数组;因为它有可能通过第二个参数删除多个:
因此,您应该使用警报结果[0] .do();
Working example: http://jsfiddle.net/Cjtaa/