JavaScript查询Json 树
getNode (json, key, nodeId) {
// 1.第一层 root 深度遍历整个JSON
var result = null
for (var i = 0; i < json.length; i++) {
var obj = json[i]
// 没有就下一个
if (!obj) {
continue
}
// 2.有节点就开始找,一直递归下去
if (obj[key] === nodeId) {
// 找到了与nodeId匹配的节点,结束递归
return obj
// break
} else {
// 3.如果有子节点就开始找
if (obj.children && obj.children.length > 0) {
// 递归往下找
result = this.getNode(obj.children, key, nodeId)
if (result) {
break
}
// console.log(node)
} else {
continue
}
}
}
return result
}