У меня есть коллекции, как это:фильтр следующие JSON с помощью подчеркивания
var collection={
"Today": [{
"id": "1",
"name": "iPod Nano",
"image": "img/items/item1.jpg",
"special": 0
}, {
"id": "2",
"name": "Samsung TV",
"image": "img/items/item2.jpg",
"special": 1
}],
"Monday 11 August 2014": [{
"id": "3",
"name": "Nikon Camera",
"image": "img/items/item3.jpg",
"special": 0
}, {
"id": "4",
"name": "iPad 1000",
"image": "img/items/item4.jpg",
"special": 0
}],
"Monday 30 August 2014 ": [{
"id": "5",
"name": "ar of Gold",
"mage": "img/items/item5.jpg ",
"special ": 1
}, {
"id ": "6 ",
" name ": "Buzz Light Year ",
"image ": " img/items/item6.jpg ",
"special ": 1
}]
};
я хотел бы, чтобы отфильтровать коллекцию и остаются только специальные == 1:
Я пробовал:
var Specials=_.reduce(collection,function(memo,item){
var result = _.filter(item,function(c){
return c.special==0 ;
});
if(result.length > 0){
var newResult = {};
newResult.deals = result;
newResult.id = item.id;
memo = _.union(memo,newResult);
}
return memo;
},[]);
var jsonText=JSON.stringify(Specials);
console.log("=========>" + jsonText);
Но не получил то, что я ожидал.
Почему? Я хотел бы результат такой:
var filtered={
"Today": [{
"id": "2",
"name": "Samsung TV",
"image": "img/items/item2.jpg",
"special": 1
}],
"Monday 30 August 2014 ": [{
"id": "5",
"name": "ar of Gold",
"mage": "img/items/item5.jpg ",
"special ": 1
}, {
"id ": "6 ",
" name ": "Buzz Light Year ",
"image ": " img/items/item6.jpg ",
"special ": 1
}]
};
Ваш JSON не является действительным) –
Вы говорите, что вы хотите фильтровать 'c.special == 1', но ваш код фильтрации на' c.special == 0 '... какой из них верный? –