前景介绍:
刷题记录:题目
- 查找两个节点的最近的一个独特父节点,能够包含节点本身
本人的思路是先固定一个元素,找到这个递归找到这个元素的所有的下级父元素存在一个数组中,再递归查找元素2的父元素在不在这个数组中,然而想着实现过于麻烦,且性能不是很好,于是就翻看了题库其余大神的解析过程,真是打击到自尊心了,感觉还是要多学习,多看,多理解,可能简略的一个API就能够解决你的问题,然而在你不晓得的状况下,你就是没有方法解决问题,或者是要比他人多走很多的弯路,所以肯定要尽可能多的理解接触新的常识.
//题目: 查找两个节点的最近的一个独特父节点,能够包含节点本身( 前提node1和node2不会是同一个元素 )function commonParentNode(oNode1, oNode2) { if(oNode1.contains(oNode2)){ return oNode1; }else{ return commonParentNode(oNode1.parentNode, oNode2) }}
剖析:
contains
oNode1.contains(otherNode) 的后果是一个布尔值,示意传入的节点是否为该节点的后辈
节点
otherNode 如果是oNode1的后辈节点或者是oNode1自身返回true , 否则返回false;