Eu tenho um objeto (um "array associado", por assim dizer - também conhecido como um objeto JavaScript simples):
obj = {}
obj["Foo"] = "Bar"
obj["bar"] = "Foo"
Quero iterar obj
usando o CoffeeScript da seguinte maneira:
# CS
for elem in obj
O código CS acima compila para JS:
// JS
for (i = 0, len = obj.length; i < len; i++)
o que não é apropriado neste caso.
A maneira JavaScript seria, for(var key in obj)
mas agora estou me perguntando: como posso fazer isso no CoffeeScript?
length
propriedade que simplesmente se refere ao índice numérico mais alto (mais 1). O que você quer é apenas um "objeto":obj = {}
. Matrizes são objetos, mas não há razão para usar uma no seu exemplo.