在Javascript中修改字典键

在Javascript中修改字典键,javascript,dictionary,key,Javascript,Dictionary,Key,我正在尝试动态创建一个n维对象finalObj,对于n=3,它看起来像这样 children = { 'value1' : 'some1' , 'value2' : 'some2' , 'value3' :'some3' } item = { 'key1' : 'value1' , 'key2':'value2' , 'key3':'value3' } 基本上,生成的对象是这样的 finalObj = { parent : { 'some1' : { 'some2' : { '

我正在尝试动态创建一个n维对象finalObj,对于n=3,它看起来像这样

children = { 'value1' : 'some1' , 'value2' : 'some2' , 'value3' :'some3' }

    item = { 'key1' : 'value1' , 'key2':'value2' , 'key3':'value3' }
基本上,生成的对象是这样的

 finalObj  =  { parent : { 'some1' : { 'some2' : { 'some3':{} } } } } 
我正在下面创建一个n深度的对象

var parent ={} 
var finalObj

function makechildren( children, depth ){  
  if (depth>0){       
    makechildren({children}, depth-1);  
  }
  else
  { finalObj=children 
  console.log('finalObj',finalObj) 

  }
  return finalObj
 }

 Promise.resolve(makechildren(parent,4))
 .then(function(resp){
  console.log("resp is",resp); 
  })
这张照片是:

{ "children": { "children": { "children": { "children": {} } } } }
现在,如何转向

parent.children.children.children

进入

这基本上是

parent.children['value1'].children['value2'].children['value3']....
我曾尝试复制原始字典,用循环更改键,并将每个parent.children[item['key1']]分配给多维字典的其余部分,但没有做得太多

parent1 = JSON.parse(JSON.stringify(parent))
for (i in Object.keys(parent))
{ 
parent1[ item['key'+i] ] = parent.children
}

然而,我在这里停留在如何以这种方式完成它。有什么想法吗?

循环查看
项中的值,使用每个值从
子项中获取相应的值,并将其用作新对象的属性。要创建嵌套对象,请使用变量将对象保持在当前深度,每次通过循环时都会更新该深度

children={'value1':'some1','value2':'some2','value3':'some3'};
项={'key1':'value1','key2':'value2','key3':'value3'};
finalObj={parent:{}};
var cur=finalObj.parent;
Object.values(item.forEach)(val=>{
cur[children[val]]={};
cur=cur[儿童[val]];
});
log(JSON.stringify(finalObj))
parent.children['value1'].children['value2'].children['value3']....
parent1 = JSON.parse(JSON.stringify(parent))
for (i in Object.keys(parent))
{ 
parent1[ item['key'+i] ] = parent.children
}