//给定某个名字,求相应的值
var arrs = [];
var data = [{
name: '中国',
val: 100,
children: [{
name: '教第三节课',
value: 0
},
{
name: '教呼呼',
value: 1,
children: [{
name: '大一',
value: 2,
children: [{
name: '课程1',
value: 3,
children: [{
name: '1231',
value: 4,
},
{
name: '121',
value: 5,
}
]
},
{
name: '课程2',
value: 6,
children: [{
name: '1232',
value: 7,
},
{
name: '122',
value: 9,
}
]
},
{
name: '课程3',
value: 101,
children: [{
name: '1233',
value: 8,
},
{
name: '123',
value: 10,
}
]
},
]
}]
},
{
name: '活动',
value: 11,
children: null
}
]
}];
function getArray(data, name) {
var val = null
for (var i = 0; i < data.length; i++) {
if (data[i].name == name) {
val = data[i].val
return val
} else {
getArray(data[i].children, name)
}
}
}
console.log(getArray(data, '活动'));
问题里data这种数据结构很常见;
常见方法:指定name找value
如果要根据value找name就把func中的name value互换就好了