courses = [{
code: 'English',
otherFields: '1',
list: [{id:'1'},{name:'eng'}]
}, {
code: 'Spanish',
otherFields: '2',
list: [{id:'2'},{name:'spa'}]
}, {
code: 'German',
otherFields: '3',
list: [{id:'3'},{name:'ger'}]
}]
var resultSet = $.grep(courses.list, function (e) {
return e.code.indexOf('German') == 0;
});
console.log(JSON.stringify(resultSet));
What I want is: based on 'name' parameter I want to get everything in that particular object. Example: when I pass name=spa I should get ' id=2, name=spa'. Using the above code I get the result as undefined.
I check this question but it didn't help much. Please help.
EDIT
Sorry friends but I'm really confused. Below is the code while I can see in console (Its coming from server so I don't know how it is actually structured).
result : {Object}
course : {Object}
name : English
list : {Object}
1 : {Object}
attr1 : value1
attr2 : value2
3 : {Object}
attr1 : value1
attr2 : value2
other : value-other
id : 1
course : {Object}
name : Spanish
list : {Object}
1 : {Object}
attr1 : value1
attr2 : value2
3 : {Object}
attr1 : value1
attr2 : value2
other : value-other
id : 2
When I'm using result.course.id
I'm getting 1
. What I want is to get the entire thing inside course
based on particular name
(Spanish or English). I hop I made myself clear now.
Sorry for the inconvenience that you'd to face before. Please help.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…