javascript - 了解从 CoffeeScript 中的拼接返回的结果

标签 javascript coffeescript splice array-splice

我正在使用 CoffeeScript 以及 JS 拼接功能。我对JS拼接函数的理解是应该返回拼接出来的对象,修改原数组。这似乎适用于简单的数组,但是当我开始向数组添加对象时,事情就会崩溃。下面是一个带注释的简化案例:

还有一个链接 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()返回被移除元素的数组;因为它有可能通过第二个参数删除多个:

因此,您应该使用 alert result[0].do();

Working example: http://jsfiddle.net/Cjtaa/

关于javascript - 了解从 CoffeeScript 中的拼接返回的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9946981/

相关文章:

javascript - 添加 Foundation Javascript 后,jQuery cookie 不再起作用

javascript - 查找 ng-repeat 生成的列数

javascript - jQuery.ajax *仅*检索状态代码但不检索/下载整个文档?

Angular Ionic3 TypeScript - 从数组拼接后出现“"TypeError: Cannot read property ' name' of undefined”

javascript - 是否可以将元素插入 MongoDB 文档中的数组中间?

javascript - 我认为 Splice(remove) 方法的工作原理与其实际工作完全相反

javascript - html 问题 - 按钮超过 anchor ?

javascript - 我们可以使用键控函数的对象在运行时定义类吗?

javascript - 使用 Node.js + CoffeeScript + MySQL 制作几个相关的插入

javascript - 我们应该在 React 功能组件的每个函数处理程序中使用 useCallback