如:已知以下数据结构
var tree = [
{ id: 1, pid: null },
{ id: 2, pid: 1 },
{ id: 3, pid: 1 },
{ id: 4, pid: 1 },
{ id: 5, pid: 2 },
{ id: 6, pid: 2 },
{ id: 7, pid: 5 }
];
求,id为2的所有子孙id
$(function () {
var tree = [
{ id: 1, pid: null },
{ id: 2, pid: 1 },
{ id: 3, pid: 1 },
{ id: 4, pid: 1 },
{ id: 5, pid: 2 },
{ id: 6, pid: 2 },
{ id: 7, pid: 5 }
];
function getDesc(id) {
var ids = [];
$.each(tree, function(k, v) {
if (v.pid == id)
ids.push(v.id);
});
$.each(ids, function(k, v) {
var v2 = getDesc(v);
$.each(v2, function(k2, v2) {
ids.push(v2);
});
});
return ids;
};
console.dir(getDesc(2));
});