问题描述
使用for x,y of L
. 相关文件。
ages = {}
ages["jim"] = 12
ages["john"] = 7
for k,v of ages
console.log k + " is " + v
jim is 12
john is 7
您可能还想考虑for own k,v of ages
Aaron Dufour
在评论中提到的变体。这添加了一个检查以排除从原型继承的属性,这在本示例中可能不是问题,但如果您正在构建其他东西,则可能会出现问题。
解决方法
我有一个对象(可以说是“关联数组” - 也称为纯 JavaScript 对象):
obj = {}
obj["Foo"] = "Bar"
obj["bar"] = "Foo"
我想使用 CoffeeScript 进行迭代obj
,如下所示:
# CS
for elem in obj
bu 上面的 CS 代码编译成 JS:
// JS
for (i = 0,len = obj.length; i < len; i++)
在这种情况下不合适。
JavaScript 方式会是for(var key in obj)
,但现在我想知道:我 怎样才能在 CoffeeScript 中做到这一点?