我想根據類別標準篩選JSON產品數組。也許解決方案是以不同的方式設置JSON,但我不確定JSON會是什麼樣子。這是我目前的JSON:JSON多個類別篩選器
var myData = {
"products": [
{
"name": "Multi Color 1",
"price": "2.99",
"color": [
{
"type": "red"
},
{
"type": "blue"
}
]
},
{
"name": "Multi Color 2",
"price": "2.99",
"color": [
{
"type": "red"
},
{
"type": "green"
}
]
},
{
"name": "Single Color",
"price": "2.99",
"color": [
{
"type": "red"
}
]
}
]
}
所以,如果我被「紅」過濾,它會返回這三個產品。但是,如果按「綠色」或「藍色」過濾,它只會返回一種產品。我試過$ .grep和$ .map,但是我無法獲得多個級別來正確返回產品。任何幫助深表感謝。
我的一個嘗試是:
testMap = $.grep(myData.products, function(element, index) {
return $.grep(element.color, function(element, index) {
return (element.value === "green");
});
});
改變'color'到' 「顏色」:[「紅色」,「綠色」]會簡化過濾器,但不是顯示擋塊。首先顯示你一直在嘗試的代碼。顯示你的嘗試使它看起來不像你想讓別人爲你做你的工作 – charlietfl
謝謝charlietfl。我編輯添加一個嘗試,我只是在jsfiddle中查看不同的代碼。我將嘗試使用簡化的顏色數組。 – user2680673
好吧...所以你很親密....更好地學習從頭開始稍有不妙從頭開始 – charlietfl