js递归获取子节点所有父节点
起因:业务中用到了element级联选择器,级联的反显需要这样的数据[id(父),id(父),id(当前选中)],写了一个简单的递归。
findAncestry (arr, id) { var temp = [] var forFn = function (list, id) { for (var i = 0; i < list.length; i++) { var item = list[i] if (item.id === id) { temp.push(item) forFn(arr, item.pid) break } else { if (item.children) { forFn(item.children, id) } } } } forFn(arr, id) return temp }