2
嘗試查看一個數組中的數據是否與另一個數組中的數據匹配。我有對象的數組,像這樣 -
var ProductsList =
[
{"Name": "Product A"; "Rating": "3"},
{"Name": "Product B"; "Rating": "2"},
{"Name": "Product C"; "Rating": "1"},
];
然後我想比較用戶選擇的值,它進來,我得到基礎上,他們通過複選框選擇的值的數組這款產品列表。因此,如果他們選擇了1,2,3 - 應顯示所有產品,如果他們選擇1 - 則僅顯示產品A.
我試圖使用$ .grep做過濾,但我遇到了通過數組值過濾的問題。作爲一個例子,我們將用戶過濾器硬編碼爲所有值。
userFilterArray.Rating = [1, 2, 3];
function filter(ProductsList, userFilterArray)
filteredList = $.grep(ProductList, function(n) {
return (n.Rating == userFilterArray.Rating);
});
顯然,這並不工作,因爲我比較n.Rating這是一個字符串數組,但我不知道如何串在這種情況下比較字符串。
grep會是最簡單的方法嗎?我應該使用.each .each組合嗎?也許都不是?