数组map

215 阅读1分钟

有两棵树形结构,分别获取到它的所有叶结点,对比这两个叶节点获取两个相同的节点

  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