我有一个json,如下所示,注释嵌套和相应的值。
{
'0': '0',
'1': '1',
'2-0': '2-0',
'2-1': '2-1',
'3-0': '3-0',
'3-1-0': '3-1-0',
'3-1-1': '3-1-1',
'3-2': '3-2'
}然后,我尝试检索一个嵌套数组,如下所示。
[
'0',
'1',
[
'2-0',
'2-1'
],
[
'3-0',
[
'3-1-0',
'3-1-1'
],
'3-2',
]你有什么想法来实现这一点吗?
我更喜欢TypeScript (或JavaScript),但也欢迎任何其他语言。
发布于 2020-11-29 21:50:18
var input = {
'0': '0',
'1': '1',
'2-0': '2-0',
'2-1': '2-1',
'3-0': '3-0',
'3-1-0': '3-1-0',
'3-1-1': '3-1-1',
'3-2': '3-2'
}
var result = Object.keys(input).map(key => ({
key,
value: input[key]
})).reduce((accum, item) => {
var keys = item.value.split("-");
var last = accum;
keys.forEach((key, index) => {
if (index === keys.length - 1) {
last[key] = item.value;
} else {
if (!last[key]) {
last[key] = [];
}
}
last = last[key];
});
return accum;
}, []);
console.log(result);https://stackoverflow.com/questions/65060586
复制相似问题