0
子对象我有一个这样的OBJ:我应该如何获得匹配的嵌套JSON对象
var obj = { thing1 : { name: 'test', value: 'testvalue1'},
thing2 : { name: 'something', thing4: {name:'test', value: 'testvalue2'}},
}
我想写像findByName函数(OBJ,“测试”),它返回所有匹配。具有相同名称的子对象。因此,它应该返回: {名称: '测试',值: 'testvalue1'} {名称: '测试',值: 'testvalue2'}
现在这是我所:
function findByName(obj, name) {
if(obj.name === name){
return obj;
}
var result, p;
for (p in obj) {
if(obj.hasOwnProperty(p) && typeof obj[p] === 'object') {
result = findByName(obj[p], name);
if(result){
return result;
}
}
}
return result;
}
显然它只返回第一个匹配。如何改进这个方法?