遞歸獲取祖先id集合

function getAncestors(result, id, arr) {
    arr.some(item => {
        if (item.id === id) {
            result.unshift(item.parentId);
            getAncestors(result, item.parentId, arr);
            return true;
        }
    });
    return result;
}

var ancestorList = [
	{ id: 11, parentId: 1 }, 
	{ id: 12, parentId: 1 }, 
	{ id: 111, parentId: 11 }, 
	{ id: 121, parentId: 12 }, 
	{ id: 1211, parentId: 121 }
];

var ancestors = getAncestors([], 1211, ancestorList);

console.log(ancestors); //[1, 12, 121]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章