Coffeescript,数组长度未定义

Eus*_*ace 3 arrays coffeescript

任何人都可以解释为什么长度总是空的?

jsCountries = 
  0:
    country: "Brazil"
    photo:  "source.png"


alert jsCountries.length
Run Code Online (Sandbox Code Playgroud)

rob*_*kuz 8

我不确切地知道你想做什么.如果您想使用您的代码而不是访问权限

Object.keys(jsCountries).length
Run Code Online (Sandbox Code Playgroud)

但是,如果您的目的是创建一个国家/地区对象数组,而不是建议您以不同方式初始化jsCountries var

jsCountries = [
   {country: "Brazil", photo:  "source.png"},
   {country: "Argentina", photo:  "aregentina_source.png"},
   ...
]
Run Code Online (Sandbox Code Playgroud)

然后以下将工作

jsCountries.length
Run Code Online (Sandbox Code Playgroud)

无论如何,我强烈建议不要使用数字键作为对象,即使它是可能的.


phe*_*nal 6

您正在声明一个具有属性0集的对象,而不是一个Array.

你要:

jsCountries = [
  country: "Brazil"
  photo:  "source.png"
]

alert jsCountries.length
Run Code Online (Sandbox Code Playgroud)