Подтвердить что ты не робот

Инициализация массива javascript

Есть ли другой (более красивый) способ инициализировать этот массив Javascript?

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

Ответ 1

а. Это не работает или, по крайней мере, не так, как вы надеялись. Вы инициализировали массив, когда то, что вы, скорее всего, ищете, является хешем. counter все равно вернет [] и будет иметь длину 0, если вы не измените первую строку на counter = {};. Свойства будут существовать, но это путаное использование [] для хранения пар ключ-значение.

В:

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

Ответ 2

Используйте литерал объекта вместо массива, например:

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

Затем доступ к свойствам с точечной нотацией:

counter.A;  // 0

... или квадратная скобка:

counter['A'];  // 0

В основном вы будете использовать массивы для числовых свойств, хотя можно добавлять нечисловые свойства так, как вы были.

Ответ 3

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

Ответ 4

Было бы разумнее использовать для этого объект:

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