Javascript 将对象的参数转换为节点中的嵌套数组
我有一个对象看起来像这样:Javascript 将对象的参数转换为节点中的嵌套数组,javascript,node.js,Javascript,Node.js,我有一个对象看起来像这样: let set = { key1: 'value1', key2: 'value2', key3: 'value3', key4: 'ignored', key5: 'also ignored' } { key1: [{ name: 'value1', key2: [{ name: 'value2', key3: [{ name: 'value3' }] }] }
let set = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'ignored',
key5: 'also ignored'
}
{
key1: [{
name: 'value1',
key2: [{
name: 'value2',
key3: [{
name: 'value3'
}]
}]
}]
}
我还有一个关键点数组,用于跟踪应该使用集合
对象中的哪些关键点,以及嵌套顺序:
let keys = ['key1', 'key2', 'key3']
如何根据键
中定义的层次结构将集
对象转换为嵌套对象?我期望的输出如下所示:
let set = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'ignored',
key5: 'also ignored'
}
{
key1: [{
name: 'value1',
key2: [{
name: 'value2',
key3: [{
name: 'value3'
}]
}]
}]
}
设置
和键
都可以是任意长度。您可以减少键并为每个步骤返回内部对象
var set={key1:'value1',key2:'value2',key3:'value3',key4:'忽略',key5:'也忽略',
keys=['key1','key2','key3'],
结果={};
键。减少(功能(o,k){
var temp={name:set[k]};
o[k]=[temp];
返回温度;
},结果);
控制台日志(结果)代码>
.as console wrapper{max height:100%!important;top:0;}
您可以减少键并为每个步骤返回内部对象
var set={key1:'value1',key2:'value2',key3:'value3',key4:'忽略',key5:'也忽略',
keys=['key1','key2','key3'],
结果={};
键。减少(功能(o,k){
var temp={name:set[k]};
o[k]=[temp];
返回温度;
},结果);
控制台日志(结果)代码>
.as控制台包装{max height:100%!重要;top:0;}
工作正常!很好用!