我试图通过子对象获取json对象中的父节点,我从客户端获得的json是一个多级目录层次结构,层次结构类似于
Root
-
-Folder-1
-folder1(a)
-folder1(b)
-folder-2
-folder-3
-folder3(a)我想要的是,当我把folder3(a)的id放进去时,它应该给我folder-3的id和名字。
这里是对实际json对象 http://jsfiddle.net/jftrg9ko/的操纵
发布于 2014-08-28 06:45:12
无论如何,你必须在树中搜索,所以只要记住父母,如果你找到了正确的孩子,就把它返回。
我摆弄了一些东西:http://jsfiddle.net/jftrg9ko/1/
function getParent(tree, childNode)
{
var i, res;
if (!tree || !tree.folder) {
return null;
}
if( Object.prototype.toString.call(tree.folder) === '[object Array]' ) {
for (i in tree.folder) {
if (tree.folder[i].id === childNode) {
return tree;
}
res = getParent(tree.folder[i], childNode);
if (res) {
return res;
}
}
return null;
} else {
if (tree.folder.id === childNode) {
return tree;
}
return getParent(tree.folder, childNode);
}
}发布于 2018-05-01 04:33:39
得到所有的视野
var pars,k,v,chk;
pars = [];
$.each(json,function(k,v){
chk = k;
$.each(v,function(k,v)
if(k === node){
pars.push(chk);
}
})
})https://stackoverflow.com/questions/25542024
复制相似问题