初始化javascript数组

Initializing a javascript array

本文关键字:数组 javascript 初始化      更新时间:2023-09-26

是否有另一种(更漂亮的)方式来初始化这个Javascript数组?

    var counter = [];
    counter["A"] = 0; 
    counter["B"] = 0;
    counter["C"] = 0;
    counter["D"] = 0;
    counter["E"] = 0;
    counter["F"] = 0;
    counter["G"] = 0;

A。这行不通,或者至少不是你所希望的那样。当您最可能查找的是散列时,您初始化了一个数组。除非将第一行更改为counter = {};,否则counter仍将返回[]并具有0的长度。属性将存在,但是使用[]来存储键值对是一个令人困惑的用法。

B:

var counter = {A: 0, B: 0, C: 0, D: 0, E: 0, F: 0, G: 0};

使用对象字面值代替数组,如下所示:

var counter = {A:0,B:0,C:0}; // and so on

然后使用点符号访问属性:

counter.A;  // 0

…或方括号符号:

counter['A'];  // 0

您将主要使用数组作为数值属性,尽管您也可以添加非数值属性。

var counter={A:0,B:0,C:0,D:0,E:0,F:0,G:0};

使用一个对象来做这个会更有意义:

    var counter = {
        A: 0, 
        B: 0, 
        C: 0, 
        D: 0, 
        E: 0, 
        F: 0, 
        G: 0
     };

如果你真的想要一个全是0的数组,Array(5).fill(0)可以满足你的要求。