js 数据遍历问题

   const arr = [

{

id: 1,

name: "张三",

children: [

{

id: 1.1,

name: "张四",

children: [{ id: 1.11, name: "张五" }]

}

]

}

];

已知张五id,怎么拿到张四id

已知张四id,怎么拿到张三id

回答

直接点,给代码。

function findParentId(id) {

let arrMap = new Map();

function patchArr(arr, pid = null) {

arr.forEach(element => {

arrMap.set(element.id,{ ...element, pid })

element.children && (patchArr(element.children, element.id))

});

}

patchArr(arr)

return arrMap.get(id).pid;

}

console.log(findParentId(1.11)); // 1.1

function findChild(condition, children, parent = null) {

for (let child of children) {

if (condition(child)) {

return parent;

} else {

if (child.children) {

return findChild(condition, child.children, child);

} else {

return null;

}

}

}

}

使用方式:js 数据遍历问题

以上是 js 数据遍历问题 的全部内容, 来源链接: utcz.com/a/63668.html

回到顶部