I searched the Internet and cannot find the right word to search, so I end up asking all of you seniors again in Javascript. The code below is taken from the answer on this question.
I really don’t understand how this method or function works.
var list = [{id: 1,title: 'home',parent: null},{id: 2,title: 'about',parent: null},{id: 3,title: 'team',parent: 2},{id: 4,title: 'company',parent: 2} ];
function treeify(list) {
var treeList = [];
var lookup = {};
list.forEach(function(obj) {
obj['children'] = [];
lookup[obj['id']] = obj;
});
console.log(lookup);
list.forEach(function(obj) {
if (obj['parent'] != null) {
lookup[obj['parent']]['children'].push(obj);
} else {
treeList.push(obj);
}
});
console.log(treeList);
};
treeify(list);
In question number 1:
As a result, an object appeared that already had children for each parent, presumably I think that the parent should have empty children of the array at this time. How it works? Enlighten me.
In question number 2
treeList has already formed a hierarchy tree. How does this happen? didn't he even push the lookup variable to the treeList variable? It only pushes obj with a parent equal to null (which is the parent root).
.
, .., javascript, , .
!