2
對於給定的扁平列表:如何在對象中找到深度嵌套唯一鍵的路徑並相應地分配子對象?
let list = [
{
key: 1,
parent: null,
},
{
key: 2,
parent: 1,
},
{
key: 3,
parent: null,
},
{
key: 4,
parent: 1,
},
{
key: 5,
parent: 2,
}
]
如何創建一個嵌套的對象像下面的一個?
let nest = {
children: [
{
key: 1,
children: [
{
key: 2,
children: [
{
key: 5,
children: []
}
]
},
{
key: 4,
children: []
}
]
},
{
key: 3,
children: []
}
]
}
我不知道如何解決這個問題。我想到的解決方案必須一遍又一遍遍歷列表,以檢查對象的父代是否爲空,在這種情況下,它將被指定爲頂級對象,或者該對象的父代已存在,其中如果我們獲得了父項的路徑,並將該子項分配給該父項。
P.S. 我不認爲這是任何低於
我認爲你可以object.keys實現這個()函數[鏈接]:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects /對象/鍵和遞歸函數 –