87,916
社区成员
发帖
与我相关
我的任务
分享
var arrayOld = [{ "id": 1, "name": "111", "children": [] },
{ "id": 2, "name": "222", "parentid": 1, "children": [] },
{ "id": 3, "name": "333", "parentid": 2, "children": [] },
{ "id": 4, "name": "444", "children": [] }];
var arrayNew = [];
function contractTree(arrayOld, model) {
$.each(arrayOld, function (i, v) {
if (v.parentid && v.parentid == model.id) {
model.children.push(v);
}
});
if (model.children.length > 0) {
$.each(model.children, function (i, v) {
contractTree(arrayOld, v);
})
}
return model;
}
$.each(arrayOld, function (i, v) {
if (!v.parentid) {
arrayNew.push(v);
};
});
$.each(arrayNew, function (i, v) {
contractTree(arrayOld, v);
});
后面这个 前面那个有点问题
var arrayOld = [{ "id": 1, "name": "111", "children": [] },
{ "id": 2, "name": "222", "parentid": 1, "children": [] },
{ "id": 3, "name": "333", "parentid": 2, "children": [] },
{ "id": 4, "name": "444", "children": [] }];
var arrayNew = [];
var arrayNew1 = [];
function contractTree(arrayOld, model) {
var modelNew = [];
$.each(arrayOld, function (i, v) {
if (v.parentid && v.parentid == model.id) {
model.children.push(v);
}
});
if (model.children.length > 0) {
$.each(model.children, function (i, v) {
modelNew.push(contractTree(arrayOld, v));
})
}
return model;
}
$.each(arrayOld, function (i, v) {
if (!v.parentid) {
arrayNew.push(v);
};
});
$.each(arrayNew, function (i, v) {
arrayNew1.push(contractTree(arrayOld, v));
});
大概就是这么个东西 有点粗糙将就着看