mam obiektu (e „łączą układ”, znany także jako zwykły obiektu JavaScript):iteracyjnego obiektu w coffeescript
obj = {}
obj["Foo"] = "Bar"
obj["bar"] = "Foo"
i muszę iteracyjnego niego przy coffeescript. Teraz, wykonując tak:
for elem in obj
nie działa, ponieważ obj.length ma wartość 0, której używa kod kompilatora js. W zwykłym Javascriptu po prostu robiłbym
for(var key in obj)
, ale teraz zastanawiam się: jak mogę to zrobić w coffeescript?
"układy" w JavaScript/coffeescript są specjalne obiekty ze wskaźnikami liczbowymi i 'własności length' to po prostu odnosi się do najwyższego indeksu liczbowego (plus 1). To, czego chcesz, to tylko "obiekt": "obj = {}". Tablice są obiektami, ale nie ma powodu, aby używać ich w swoim przykładzie. –
Dobry punkt Trevor! Zmodyfikowaliśmy to pytanie, aby było nieco mniej mylące/mylące pod tym względem. –