【发布时间】:2011-09-18 12:28:30
【问题描述】:
我有一个对象(可以说是“关联数组” - 也称为纯 JavaScript 对象):
obj = {}
obj["Foo"] = "Bar"
obj["bar"] = "Foo"
我想使用 CoffeeScript 遍历 obj,如下所示:
# CS
for elem in obj
上面的CS代码编译成JS:
// JS
for (i = 0, len = obj.length; i < len; i++)
在这种情况下不合适。
JavaScript 方式是 for(var key in obj),但现在我想知道:我如何在 CoffeeScript 中做到这一点?
【问题讨论】:
-
"Arrays" 在 JavaScript/CoffeeScript 中是具有数字索引的特殊对象和一个简单地引用最高数字索引(加 1)的
length属性。你想要的只是一个“对象”:obj = {}。数组是对象,但没有理由在您的示例中使用一个。 -
好点特雷弗!在这方面,我已经修改了这个问题,以减少误导/混淆。