js, 遍历树形数组 根据id获取单个

vara=[{"id":"0000","text":"R1","children":[{"id":"8978","text":"Aad","children":[{"id... var a=[ { "id" : "0000", "text" : "R1", "children" : [ { "id" : "8978", "text" : "Aad", "children" : [ { "id" : "2312", "text" : "adaada", "children" : [ { "id" : "5154", "text" : "asdsa" }] },{ "id" : "4544", "text" : "afasf", "children" : [ { "id" : "5236", "text" : "afasf" }, { "id" : "2328", "text" : "afasf" } ] }] }, { "id" : "7867", "text" : "R2", "children" : [ { "id" : "8767", "text" : "afasf", "children" : [ { "id" : "2016", "text" : "afafa" }, { "id" : "2017", "text" : "afasd" } ] }, { "id" : "7657", "text" : "h", "children" : [ { "id" : "7867", "text" : "afras" } ] } ] } ] } ];

这种树形json数组想实现一个功能
比如我想给个值var id=“2016”;
就把2016这个里的东西拿出来
var json={ "id" : "2016", "text" : "afafa" };
展开
 我来答
百度网友5cf2587
推荐于2018-03-11 · TA获得超过233个赞
知道小有建树答主
回答量:174
采纳率:100%
帮助的人:234万
展开全部
//传入要查找的数据集,目标id,返回目标ID对应的数据集合
//jsonData:数据集
//destID:目标ID
//json:目标ID结果集
function GetSubJson(jsonData, destID, json) {
for (var i = 0; i < jsonData.length; i++) {
if (jsonData[i].id == destID)
json.push(jsonData[i]);
else {
if (jsonData[i].hasOwnProperty("children")) {
GetSubJson(jsonData[i].children, destID, json);
}
}
}
}
//例如
var json = [];
GetSubJson(a, "2016", json);
百度网友b30ab76
2015-08-07 · TA获得超过1571个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:495万
展开全部
用了underscore
http://jsfiddle.net/4mm2839s/
还有,上次我回答的分还没结给我呢?
追问
不好意思哈 哪个问题 我在记录里没找的到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-08-07
展开全部
遍历json,获取你想要的id.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式