Javascript动态嵌套对象

时间:2018-06-01 17:25:09

标签: javascript object dynamic nested

我的目标是在主对象中生成序列化对象。 太阳系是我的嵌套思想,我可以通过调用它来访问变量

universe.system1.planet4.x

宇宙> “系统”>行星>等

我坚持生成任何嵌套的东西。到目前为止,我只能获得1级嵌套才能正常工作。

setInterval(onTimerTick, 1000); 
function onTimerTick() {

var entityCount=4;
  for (i=1; i<entityCount;i++){
    console.log('system' + i)
    universe['planet'+i]=[entityCount,entityCount,entityCount,entityCount];  
  }//entitycounts in object are placeholder for more data
 console.log(universe);
}

var universe = {
}

输出

Object {
  system0: [5, 5, 5, 5],
  system1: [5, 5, 5, 5],
  system2: [5, 5, 5, 5],
  system3: [5, 5, 5, 5]
}

任何时候我尝试添加任何嵌套都不会生成。

1 个答案:

答案 0 :(得分:0)

这是这样的吗?

您必须创建X嵌套循环,其中X是您要创建的嵌套级别数。

&#13;
&#13;
const nbSystem = 5;
const nbPlanetPerSystem = 3;

// Create the base
const universe = {};

// Generate systems
for (let i = 0; i < nbSystem; i += 1) {
  universe[`system${i + 1}`] = {};

  // Generate planets
  for (let j = 0; j < nbPlanetPerSystem; j += 1) {
    universe[`system${i + 1}`][`planet${j + 1}`] = 'something';
  }
}

console.log(universe);

console.log(universe.system3.planet3);
&#13;
&#13;
&#13;