Salve,
Ich initialisiere ein Javscript Array durch
var data = new Array()
.Kann man abkürzen zu
var data = [];
Richtig, aber ist das nicht letztendlich egal?
Dieses wird nach und nach durch verschiedene AJAX Requests mit eindimensionalen JSON Objekten gefüllt, frei nach dem Motto
data['index'] = JSON.parse(response)
. Eine Überprüfung mittelsconsole.log(data)
gibt etwas aus wie[1: Object, 2: Object, ...]
. Soweit sogut.Wenn du Strings wie in
'index'
(mit Anführungszeichen) verwendest, erzeugst du Objekteigenschaften und keine Array-Einträge. Ich nehme an, du meinst/nimmst keine Strings sondern Zahlen.
Hm ok. Dieses hab ich gefunden, welches auch einen 'string'
als Index innerhalb eines Arrays nutzt. Worauf ich auch erst darauf gekommen bin, dass die iteration durch Mustache.js nur über Arrays funktioniert.
Nun die große Frage. Warum wird Object ausgegeben?
Arrays sind auch nur Objekte.
Das ist mir auch klar.
Es gibt in Javascript keinen Datentyp Array. Prüfen auf ein Array kann man mit
Array.isArray(...)
Aber wenn es keine Arrays in Javascript gibt, wieso sollte dann die Überprüfung .isArray()
Sinn haben?
Gruß
Jo