多くの筆記試験問題をつづる-プログラミング
【タイトル本意:配列構造データをチェーン構造に変換し、その時は読めなかった…ううう…】入力:
出力:
PS:ついでにチェーンテーブル回転配列を実現
var arr = [
{id : 1, parents : null},
{id : 2 , parents : 1},
{id : 3 , parents : 2},
]
出力:
var obj = {
obj1: {
id:1,
parents:null,
child:{
id:2,
parents:1,
child: {
id:3,
parents:2,
}
}
}
}
function arrayTolist(ary) {
if (!ary.length) {
return null
}
var node
var head = { id: ary[0].id, parents: null }
var preNode = head
for (var i = 1; i < ary.length; i++) {
node = { id: ary[i].id, parents: preNode.id }
preNode.child = node
preNode = node
}
return head
}
PS:ついでにチェーンテーブル回転配列を実現
function listToArray(obj) {
if (!obj) {
return []
}
var result = []
while (obj) {
result.push({ id: obj.id, parents: obj.parents })
obj = obj.child
}
return result
}