Reputation:
I have the following JSOn object ( Array of elements )
var roles = [
{
"label": "alpha",
"children": [
{"label": "role1","title": "role1","value": "1"},
{"label": "role2","title": "role2","value": "2"}
]
},
{
"label": "beta",
"children": [
{"label": "role3","title": "role3","value": "3"},
{"label": "role4","title": "role4","value": "4"}
]
},
{
"label": "delta",
"children": [
{"label": "role5","title": "role5","value": "5"},
{"label": "role6","title": "role6","value": "6"}
]
}
]
I am trying to get ( and later remove.. ) an element with a specific label
I defined a where object
var where = {key: 'label', value:"alpha"};
and I filter the object :
var filteredRoles = _.filter(roles, function (el) {
return el[where.key] && _.isArray(el[where.key]) &&
_.indexOf(el[where.key], where.value) >= 0;
});
console.log("found "+JSON.stringify(filteredRoles, null, 2));
but I cannot get it : found = []
where am I wrong ?
thanks for feedback
Upvotes: 0
Views: 1743