2017-12-26 5 views
0

Ich möchte ein dynamisches Objekt generieren und ihm Wert zuweisen. Im Folgenden ist der CodeDynamische Objekterstellung von einem Array

var chunk = "INTERNATIONALISATION#LANGUAGE#DICTIONARY#EN"; 
var c = chunk.split('#'); 
var a = {}; 

So ist die Ausgabe wie diese

a["INTERNATIONALISATION"]["LANGUAGE"]["DICTIONARY"]["EN"] = 10; 

Versuchte Schleife durch Array sein sollte, aber nichts funktioniert für now.Please beraten.

+0

Was genau funktioniert nicht? – orabis

Antwort

7

Try this:

var chunk = "INTERNATIONALISATION#LANGUAGE#DICTIONARY#EN"; 
var c = chunk.split('#'); 
var a = {}; 
var lastKey = c.pop(); 
c.reduce((obj, key) => obj[key] = {}, a)[lastKey] = 10; 
+0

1+ kurz und perfekt! –

+2

Warum würden Sie einen dynamischen "Objektgenerator" verwenden, wenn Sie einer Eigenschaft von Hand einen Wert zuweisen? Oo – Andreas

+0

Ich kann nicht direkt Wert zuweisen als ["INTERNATIONALISIERUNG"] ["SPRACHE"] ["WÖRTERBUCH"] ["EN"] = 10. – suneesh