初始化一个javascript数组

bob*_*b 2 13 javascript arrays

还有另一种(更漂亮的)初始化这个Javascript数组的方法吗?

    var counter = [];
    counter["A"] = 0; 
    counter["B"] = 0;
    counter["C"] = 0;
    counter["D"] = 0;
    counter["E"] = 0;
    counter["F"] = 0;
    counter["G"] = 0;
Run Code Online (Sandbox Code Playgroud)

bry*_*mck 17

答:这不起作用,或者至少不是你希望它的方式.当您最有可能寻找的是哈希时,您初始化了一个数组.除非你将第一行更改为,否则counter仍将返回[]并具有长度.属性将存在,​​但存储键值对是一个令人困惑的用法.0counter = {};[]

B:

var counter = {A: 0, B: 0, C: 0, D: 0, E: 0, F: 0, G: 0};
Run Code Online (Sandbox Code Playgroud)


use*_*716 13

使用对象文字而不是数组,如下所示:

var counter = {A:0,B:0,C:0}; // and so on
Run Code Online (Sandbox Code Playgroud)

然后使用点表示法访问属性:

counter.A;  // 0
Run Code Online (Sandbox Code Playgroud)

...或方括号表示法:

counter['A'];  // 0
Run Code Online (Sandbox Code Playgroud)

您将主要使用数组属性,尽管可以像往常一样添加非数字属性.