for (i = 0; i < list.length; i += 1) {
node = list[i];
if (node.PUPId !== "0") {
// if you have dangling branches check that map[node.parentId] exists
list[map[node.PUPId]].PNEXT.push(node);
} else {
roots.push(node);
}
}
for (i = list.length; i>-1; i--){
if(list[i].PNEXT.length > 0) roots.push(list[i]);
}
return roots;
}
$0 - это последний тронутый в devtools элемент страницы. А получать значения переменных со скоупа разглядываемого сайта возможно используя метод, описанный мной в изначальном ответе.