CoffeeScript: iterar em qualquer lugar (para … em, para … de)!

Aqui está um pequeno resumo de algumas iterações úteis no Coffeescript

Arrays

Matriz associativa:

ages = {}
ages
["jim"] = 12
ages
["john"] = 7

for key, value of ages
console
.log key + " is " + value

Matriz indexada:

arr = ["a","b","c"]

for value in arr
console
.log "value without the key is :" + value

for value, key in arr
console
.log key + " is " + value

Objetos

yearsOld = john: 10, bob: 9, lisa: 11

for child, age of yearsOld
console
.log child + ' has ' + age + ' year old'

Para evitar propriedades herdadas pelo protótipo:

for own child, age of yearsOld
console
.log child + ' has ' + age + ' year old'