我有一个看起来像这样的对象:
set
我还有一个键数组,用于跟踪let keys = ['key1', 'key2', 'key3']
对象应该使用的键以及嵌套顺序:
set
如何根据keys
中定义的层次结构将{
key1: [{
name: 'value1',
key2: [{
name: 'value2',
key3: [{
name: 'value3'
}]
}]
}]
}
对象转换为嵌套对象?我想要的输出看起来像这样:
set
keys
和labels
都可以是任意长度。
答案 0 :(得分:0)
您可以减少键并返回内部对象的每一步。
var set = { key1: 'value1', key2: 'value2', key3: 'value3', key4: 'ignored', key5: 'also ignored' },
keys = ['key1', 'key2', 'key3'],
result = {};
keys.reduce(function (o, k) {
var temp = { name: set[k] };
o[k] = [temp];
return temp;
}, result);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }