从数组创建动态对象

sun*_*esh 0 javascript arrays

我想生成一个动态对象并为其赋值.以下是代码

var chunk = "INTERNATIONALISATION#LANGUAGE#DICTIONARY#EN";
var c = chunk.split('#');
var a = {};
Run Code Online (Sandbox Code Playgroud)

所以输出应该是这样的

a["INTERNATIONALISATION"]["LANGUAGE"]["DICTIONARY"]["EN"] = 10;
Run Code Online (Sandbox Code Playgroud)

尝试循环数组,但现在没有任何作用.请指教.

Thi*_*ala 7

试试这个:

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;
Run Code Online (Sandbox Code Playgroud)

  • 如果您手动为其中一个属性赋值,为什么要使用动态"对象生成器"?吴 (2认同)