考慮下面的JSON對象數組:將JSON行項目到嵌套JavaScript對象數組
var items = [
{id:1, parentId:0, name:'item1'},
{id:2, parentId:1, name:'item1.2'},
{id:3, parentId:1, name:'item1.3'},
{id:4, parentId:3, name:'item3.4'},
{id:5, parentId:3, name:'item3.5'},
...more nesting, levels, etc.
];
和基本對象,如:
var myObj = function(id, parentId, name, children){
this.id = id;
this.parentId = parentId;
this.name = name;
this.children = children;
};
我怎麼通過這個用遞歸循環項目數組,並建立一個新的數組,像這樣:
var newArray = [
new myObj(1, 0, 'item1', [
new myObj(2, 1, 'item1.2', []),
new myObj(3, 1, 'item1.3', [
new myObj(4, 3, 'item3.4', []),
new myObj(5, 3, 'item3.5', [])
])
]);
];
任何幫助是極大的讚賞
編輯: 父母/子女關係可以是無限的。所以我正在尋找一個遞歸函數,將第一個「項目」數組轉換爲第二個「newarray」
對不起,我不太清楚你的要求;您的原始數組是否僅包含一個級別的對象數組? – 2012-04-01 00:20:54
你能提供你已經開始的代碼嗎? – 2012-04-01 00:29:23