gam*_*y07 1 javascript node.js reactjs
虽然这是一个常见问题,但我找不到任何线索来获得预期的结果。所以问题来了。我有以下数组:
[
[ 'a' ]
[ 'a', 'b' ]
[ 'a', 'c' ]
[ 'a', 'c', 'd' ]
[ 'a', 'c', 'd', 'e' ]
]
Run Code Online (Sandbox Code Playgroud)
我想要的最终结果是这样的对象:
{
a: {
b: {},
c: { d: { e: {} } }
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白哪种方法会更好地获得这个结果以及如何实现它。
您需要一个双重归约,一个用于外部数组,另一个用于键和嵌套对象。
var data = [['a'], ['a', 'b'], ['a', 'c'], ['a', 'c', 'd'], ['a', 'c', 'd', 'e']],
result = data.reduce((r, keys) => {
keys.reduce((o, k) => o[k] = o[k] || {}, r);
return r;
}, {});
console.log(result);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |