Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
遍历coffeescript中的对象列表_Coffeescript - Fatal编程技术网

遍历coffeescript中的对象列表

遍历coffeescript中的对象列表,coffeescript,Coffeescript,我有这样的代码: class Canine constructor: (@breed) -> whichBreed: -> alert @breed poodle = new Canine "poodle" labrador = new Canine "labrador" iterate = -> poodle.whichBreed() labrador.whichBreed() 我想要的是这样的东西: listOfDogs = [poodle,

我有这样的代码:

class Canine
  constructor: (@breed) ->
  whichBreed: ->
    alert @breed

poodle = new Canine "poodle"
labrador = new Canine "labrador"

iterate = ->
  poodle.whichBreed()
  labrador.whichBreed()
我想要的是这样的东西:

listOfDogs = [poodle, labrador]
for d in listOfDogs
  d.whichBreed()
但不是这样的是否可以遍历具有相同结构的对象列表?

您的意思是:

class Canine
  constructor: (@breed) ->
  whichBreed: ->
    alert @breed

poodle = new Canine "poodle"
labrador = new Canine "labrador"

iterate = ->
  poodle.whichBreed()
  labrador.whichBreed()

listOfDogs = [poodle, labrador]
for d in listOfDogs
  d.whichBreed()
(将
新动物
更改为
新犬
)?因为这很好用。。。我得到了预期的输出

poodle
labrador

我试过你的代码,它是有效的…当我调用
poodle.whichbride()
labrador.whichbride()
时,我的代码做的事情与我在循环中调用
d.whichbride()
时不同(在后一种情况下,我实际代码中的函数不会被调用——唯一的区别是从单个调用变为循环)。想想看,JS中的所有东西都是一个对象,所以你当然可以在coffeescript对象列表上迭代。我问这个问题的时候是凌晨3点,对不起。如果我不知道怎么回事,我会问一个更好的新问题。@Syzygy如果你能复制它,我会感到惊讶。
d.whichbride()代表[poodle,labrador]中的d
应该绝对等同于
贵宾犬。whichbride();拉布拉多犬。whichbride()
。我的代码还有其他问题,如果有兴趣,请参阅上面的评论以了解更多信息。谢谢!