Ich versuche, ein Array von Objekten zu definieren, die ich später durchlaufen kann basierend auf der Eigenschaft Länge des Arrays. Im Internet Explorer funktioniert es wie erwartet, aber nicht in Chrome. Im Folgenden ist ein Ausschnitt aus Code, der das Array von Objekten definiert:Javascript in Chrome nicht dieselbe Array-Länge wie Internet Explorer
var status =
[
{
name: 'Open',
target:
[
{
systemgenerated: 'false',
internalonly: 'true',
name: 'Closed'
},
{
systemgenerated: 'true',
internalonly: 'true',
name: 'Done'
}
]
},
{
name: 'Pending',
target:
[
{
systemgenerated: 'false',
internalonly: 'true',
name: 'Closed'
},
{
systemgenerated: 'false',
internalonly: 'true',
name: 'Open'
}
]
}
];
im Internet Explorer status.length kehrt 2. In Chrome es 31 auf der Grundlage von Beispielen liefert ich auf Stack gesehen habe, habe ich Ich habe versucht, das Objekt auf verschiedene Arten zu definieren, damit es in Chrome wie ein Array funktioniert, aber ich habe noch keine Fortschritte erzielt. Gibt es eine Möglichkeit, dies in Chrome zu definieren, die so wirkt, als würde ich erwarten, dass ein Array funktioniert?
Danke!
Chrome [kehrt auch '2'] (https://jsfiddle.net/vvmfeqd8/). Es muss etwas anderes passieren. –
komisch, ich könnte das Problem in Chrome mit dem gleichen Code replizieren, zeigt 31 in Chrom und 2 in IE - http://codepen.io/nagasai/pen/yJRRgd –
@NagaSaiA Das liegt daran, dass jsfiddle den Code innerhalb eines Fensters umschließt .onload standardmäßig, aber codepen legt es nur an das Ende des Körpers, nicht innerhalb einer Funktion. Bedeutung in Codepen diese Variable geht auf das Fensterobjekt, und von dort können Sie auf cdrinis Antwort schauen, um zu sehen, was als nächstes passiert = P –