【发布时间】:2010-09-05 10:03:50
【问题描述】:
我需要从 JSON 对象中获取引用,代码如下:
变种树 = { 数据: { 0:{ PK:1, }, 1:{ PK:2, }, 2:{ PK:3, 孩子们: { 0:{ PK:11, }, 1:{ PK:22, }, 2:{ PK:33, }, }, }, }, 遍历:函数(数据,pk){ 对于(我在数据中){ // console.log(data[i]); 如果(数据[i].pk && 数据[i].pk == pk) 返回数据[i]; if (typeof(data[i].children) == 'object') this.traverse(data[i].children, pk); }; }, }代码在遍历顶层项目时效果很好:
>>> Tree.traverse(Tree.data, 1); 对象 {pk=1}但是在获取子元素的时候就坏了:
>>> Tree.traverse(Tree.data, 22); 不明确的当您取消注释“//console.log(data[i]);”时,我很奇怪为什么会出现这种行为行,您将看到对象已获取但未返回。
有什么想法吗?
【问题讨论】:
标签: javascript object traversal