Einige Fachleute vertreten die Ansicht, dass diese drei Beispiele letztendlich nur drei verschiedene Notationen sind, die intern zum gleichen Ergebnis führen, und dass die Unterscheidung von Array und Objekt in JS reiner Formalismus ist. Dieser Auffassung schließe ich mich an. Jedes JS-Array kann ich auch als Objekt auffassen und umgekehrt.
Das ist falsch.
a = new Array('e1', 'e2', 'e3');
alert(a.length); // ergibt: 3
a['e1'] = "";
a['e2'] = "";
a['e3']= "";
alert(a.length); // immer noch 3
o = new Object();
o['e1'] = "";
o['e2'] = "";
o['e3']= "";
alert(o.length); // undefined
Ein Array ist ein Object (wie fast alles in JS), aber du willst kein Array sondern ein Object mit den von dir gewünschten Eigenschaften
Du könntest genauso gut schreiben:
var a = new Image();
o['e1'] = "";
o['e2'] = "";
o['e3']= "";
Es geht lediglich darum, das du ein Object erzeugst (Array) das du gar nicht brauchst.
Struppi.