【发布时间】:2014-06-05 17:20:02
【问题描述】:
{
"item": {
"T1": [{
"name": "Snacks",
"T2": [{
"name": "Popcorn",
"T3": [{
"name": "Packet",
"T4": [{
"leaf": [{
"name": "popcorn packet caramel",
"price": 20
}, {
"name": "popcorn packet cheese",
"price": 30
}]
}]
}]
}]
}, {
"name": "Beverages",
"T2": [{
"name": "Pepsi",
"T3": [{
"name": "Bottle",
"leaf": [{
"name": "pepsi bottle 250ml",
"price": 50
}, {
"name": "pepsi bottle 350ml",
"price": 60
}]
}, {
"name": "Can",
"leaf": [{
"name": "pepsi can 250ml",
"price": 50
}, {
"name": "pepsi can 100ml",
"price": 40
}]
}]
}]
}]
}
}
如果您观察上面的 JSON,每个数组都有 name 属性,除了 leaf 级别
例如
T1 有两个名字Snacks and Beverages
小吃有一个名字爆米花
爆米花有一个名字包
===========================
饮料有两个名字百事可乐
百事可乐有两个名字Bottle和Can
如果给定了一个值,我已经用这种方式编写了一个函数来返回值
$(document).ready(function () {
for (var a = 0; a < jsondata.item.T1.length; a++) {
if (jsondata.item.T1[a].name == 'Snacks') {
for (var b = 0; b < jsondata.item.T1[a].T2.length; b++) {
for (var c = 0; c < jsondata.item.T1[a].T2[b].T3.length; c++) {
for (var d = 0; d < jsondata.item.T1[a].T2[b].T3[c].T4.length; d++) {
for (var e = 0; e < jsondata.item.T1[a].T2[b].T3[c].T4[d].leaf.length; e++) {
console.log(jsondata.item.T1[a].T2[b].T3[c].T4[d].leaf[e].name);
}
}
}
}
}
}
});
我的问题:是否有可能编写一个实用函数来接受一个值并返回它存在的值?
【问题讨论】:
标签: jquery