The following HTML represents a family tree:
<James> <Dave></Dave> <Mike></Mike> <Sarah></Sarah> </James>
Implement the closestRelative function so that it returns the parent's closest relative whose name matches the relativeName and obeys the following rules:
- The parent parameter is a jQuery selector of which the closest relative will be a descendant.
- Each member of the family, including children, may also be a parent to one or more children.
- Children are more closely related to the parent than grandchildren.
- If several children in the same generation have the same name, then the first child in the tree is considered the closer relative.
- If no matching relative is found the function should return an empty jQuery object.
For example, the below code should print 'MIKE' for the given family tree:
let parent = $('James').eq(0); let relative = closestRelative(parent, 'Mike'); console.log(relative && relative.eq(0).prop("tagName")); // prints MIKE
- Example case: Wrong answer
- Several generations: Wrong answer
- Children with the same name: Wrong answer