¿Hay alguna otra forma (más bonita) de inicializar esta matriz de Javascript?Inicializando una matriz de javascript
var counter = [];
counter["A"] = 0;
counter["B"] = 0;
counter["C"] = 0;
counter["D"] = 0;
counter["E"] = 0;
counter["F"] = 0;
counter["G"] = 0;
-1 porque casi todo lo que se ha dicho que está mal. Sí "funciona", las propiedades están asignadas. Por "el contador aún retornará 0", presumiblemente quiere decir 'counter.toString()', pero eso devolverá una cadena vacía (por EMCA-262 §15.4.4.2 ya que * counter * no tiene propiedades numéricas). Si * counter * se inicializa como un objeto, entonces 'counter.toString()' no devolverá "0", devolverá '[object Object]' según ECMA-262 §15.2.4.2. – RobG
En realidad era más tonto: ejecutar su código en la consola me dio '0' porque la última línea era' contador ["G"] = 0; '. Me refería a la salida de la consola, en cualquier caso. Tiene razón acerca de poder asignar casi cualquier cosa como una propiedad a un objeto, por supuesto, así que reformulé esa porción para señalar la conveniencia de usar '{}' sobre '[]' como una matriz asociativa, si no fuera por otra razón que sorpresa menor. – brymck