js获取树行列表某个节点的父节点?-灵析社区

LightSea

const arr = [ { id: 1, date: "2016-05-02", name: "王小虎", address: "上海市普陀区金沙江路 1518 弄" }, { id: 2, date: "2016-05-04", name: "王小虎", address: "上海市普陀区金沙江路 1517 弄" }, { id: 3, date: "2016-05-01", name: "王小虎", address: "上海市普陀区金沙江路 1519 弄", children: [ { id: 31, date: "2016-05-01", name: "王小虎", address: "上海市普陀区金沙江路 1519 弄", children: [ { id: 311, date: "2016-05-01", name: "王小虎", address: "上海市普陀区金沙江路 1519 弄", } ] }, { id: 32, date: "2016-05-01", name: "王小虎", address: "上海市普陀区金沙江路 1519 弄" } ] }, { id: 4, date: "2016-05-03", name: "王小虎", address: "上海市普陀区金沙江路 1516 弄" }]; 上面的数组 id=311的父节点是 id=31,id=2的父节点为null; 请问应该怎么解决?

阅读量:47

点赞量:0

问AI
九久九
function findParentNode(list, cb, parent = null) { for(const node of list) { if(cb(node)) return parent; const res = findParentNode(node.children || [], cb, node); if(res) return res; } return null } findParentNode(arr, v => v.id === 2) // null findParentNode(arr, v => v.id === 311) // {id: 31 ...}