Javascript 我不知道´;我不懂这个语法
在下面的代码中,我不确定哪个对象引用了codeJavascript 我不知道´;我不懂这个语法,javascript,Javascript,在下面的代码中,我不确定哪个对象引用了code.push(node)。如果它引用的是节点或父变量 我已经在代码中添加了console.log(),但是正在更新数据和数据映射变量。我很困惑 // *********** Convert flat data into a nice tree *************** // create a name: node map var dataMap = data.reduce(function(map, node) { map[node.na
.push(node)
。如果它引用的是节点或父变量
我已经在代码中添加了console.log()
,但是正在更新数据和数据映射变量。我很困惑
// *********** Convert flat data into a nice tree ***************
// create a name: node map
var dataMap = data.reduce(function(map, node) {
map[node.name] = node;
return map;
}, {});
// create the tree array
var treeData = [];
data.forEach(function(node) {
// add to parent
var parent = dataMap[node.parent];
if (parent) {
// create child array if it doesn't exist
(parent.children || (parent.children = []))
// add node to child array
.push(node);
} else {
// parent is null or missing
treeData.push(node);
}
});
我想理解代码
// create child array if it doesn't exist
(parent.children || (parent.children = []))
// add node to child array
.push(node);
这是:
(parent.children || (parent.children = [])).push(node);
这与
if (!parent.children) {
parent.children = [];
}
parent.children.push(node);
这是前一行的一部分。