有两棵树形结构,分别获取到它的所有叶结点,对比这两个叶节点获取两个相同的节点
function findLeafNode (knowledge_node) {
knowledge_node.forEach((ele,i)=>{
if (ele.hasOwnProperty('children')) {
findLeafNode(ele.children);
} else {
let item = {
chance,
duration,
id,
importance,
key,
name,
ques_num,
score
} = ele;
resultId.push(item);
}
});
}
其他的就不记录了,直接说map
let users = [
{name: "林更新", "email": "huge@163.com","id":123},
{name: "张艺兴", "email": "zhang@email.com","id":456},
{name: "胡歌", "email": "lin@email.com","id":789}
];
let userIdArrs = users.map((item,index,array)=>{
return item.id;
});
console.log(userIdArrs);
用forEach循环最短的一棵数,获取到另外一棵树的所有ID映射,用最短的数组去查找映射结果,效率非常高,从获取叶节点到获取重复数据,我的机器大概15ms