SOURCE

const arr=[{id:1,child:[
    {id:11,child:[]},
    {id:12,child:[
        {id:121,child:[]},
    ]}
]},{id:2,child:[
    {id:21,child:[
        {id:31,child:[
            {id:41,child:[]},
        ]},
    ]},
    {id:22,child:[]}
]},{id:3,child:[]}]

const identity='id';
const children='child';
function getPosById(arr,map=new Map(),pos=[]){
    arr.forEach((item,i)=>{
        const currPos=[...pos,i];
        map.set(item[identity],currPos);
        if(item.child){
            getPosById(item[children],map,currPos);
        }
    })
    return map;
}

console.log(getPosById(arr))
console 命令行工具 X clear

                    
>
console