2016-07-20 8 views
0

Sagen wir, ich habe ein Objekt:Javascript - Mit Objektliteral mit einer Reihe

var elObject = { 
    one: { 
    name: "Oliver"} 
} 

I Name, indem Sie elObject.one.name zugreifen kann und alles ist toll, aber lassen Sie uns sagen, ich habe diese statt:

Plötzlich kann ich nicht mehr auf Name durch elObject.1.name zugreifen, da ich 1 anstelle von "1" verwende. Gibt es eine spezielle Escape oder etwas, das ich mit Objektliteral und Ziffern verwenden soll?

Antwort

0

Sie können das einfache Objekt mit der Nummer 1 als String deklarieren. Sobald ein Eigenschaftenname nicht mit der Nummer beginnen darf, können Sie mit der Klammernotation darauf zugreifen.

Beispiel und findle unten.

var x = { 
    '1' : { 
     name: 'Joao' 
    } 
}; 
alert(x); 
try { 
    alert(x['1'].name); 
} 
catch(e){ 
    alert(e.message); 
} 

https://jsfiddle.net/b4c34wLv/

+0

Hallo. Vielen Dank. Ich habe die Antwort geändert. –

+0

Bitte beantworten Sie keine doppelten Fragen. – Bergi

+0

Es wurde nach meiner Antwort als dupliziert markiert. –

Verwandte Themen