【发布时间】:2018-09-04 23:03:11
【问题描述】:
我的json数据在这里
[
{
"id":"13167",
"photo_cd":"9946",
"src":"",
"price":"5990",
"hf_section":"1",
"sell_price":"6469",
"design_id":"1",
"genre_id":"1",
"color_id":"1"
},
{
"id":"13166",
"photo_cd":"9945",
"src":"",
"price":"5990",
"hf_section":"1",
"sell_price":"6469",
"design_id":"3",
"genre_id":"1",
"color_id":"1"
},
{
"id":"13165",
"photo_cd":"9944",
"src":"",
"price":"5990",
"hf_section":"1",
"sell_price":"6469",
"design_id":"1",
"genre_id":"1",
"color_id":"4"
},
{
"id":"13164",
"photo_cd":"9943",
"src":"",
"price":"6990",
"hf_section":"1",
"sell_price":"7549",
"design_id":"2",
"genre_id":"3",
"color_id":"3"
}
]
我的参数是这样的
["", "2", "1", "0", "0", "0"]
我的JS在这里
$.getJSON(
filepath,
function(data) {
var keys = [];
var values = [];
if (param[1] != 0) {
keys.push("hf_section");
values.push(param[1]);
}
if (param[2] != 0) {
keys.push("design_id");
values.push(param[2]);
}
if (param[3] != 0) {
keys.push("genre_id");
values.push(param[3]);
}
if (param[4] != 0) {
keys.push("color_id");
values.push(param[4]);
}
if (param[5] != 0) {
keys.push("price");
values.push(param[5]);
}
var result = data.filter(function(e) {
return keys.every(function(a) {
return values.includes(e[a])
})
})
})
我想用 AND 条件过滤所有参数。现在它就像 OR
【问题讨论】:
-
你的问题真的不清楚你想要达到什么目的。
-
你的输出是什么样的?
标签: javascript json filter filtering