Underscore.js - фильтрация во вложенном Json
Я хочу получить все значения, где category.id = 1, поэтому я должен получить 2 результата
Мой JSON выглядит так:
var test = [
{
"id": 1,
"name": "name1",
"value": "value1",
"category": {
"id": 1,
"name": "category1"
}
},
{
"id": 2,
"name": "name2",
"value": "value2",
"category": {
"id": 1,
"name": "category1"
}
},
{
"id": 3,
"name": "name3",
"value": "value3",
"category": {
"id": 2,
"name": "category2"
}
}
];
мой JavaScript выглядит так:
var x = _.filter(test,
function (innerObject) {
return _.filter(innerObject,
function (category) {
return category.id === 1;
});
});
console.log(x);
Я сделал JS Fiddle но я получаю каждый раз все 3 элемента обратно ... не только 2 правильных!
Я попробовал также что-то вроде
var x = _.where(test, {"category":{"id":2}});
console.log(x);
что мне кажется логичным, но массив всегда пуст
Я надеюсь, что кто-то может сказать мне, что я сделал не так ...
Благодарю вас!