所以,我有一个名为 products 的对象,它有 3 个属性:
var products = [
{"name":"product1","size":"large","color":"blue","gender":"male"},
{"name":"product2","size":"small","color":"pink","gender":"female"},
{"name":"product3","size":"large","color":"green","gender":"male"},
{"name":"product4","size":"large","color":"yellow","gender":"female"},
{"name":"product5","size":"medium","color":"blue","gender":"female"},
{"name":"product6","size":"large","color":"green","gender":"male"},
{"name":"product7","size":"small","color":"yellow","gender":"male"},
{"name":"product8","size":"medium","color":"red","gender":"female"},
{"name":"product9","size":"large","color":"blue","gender":"male"},
{"name":"product10","size":"small","color":"red","gender":"female"}
];
那么,如果我有 3 个选择框用于尺寸、颜色和性别,我将如何过滤这 3 个来获取产品名称?
我正在尝试在 javascript 中使用 .filter 。我知道如何在非关联数组中使用它。但是,关联数组呢?你如何使用它们?
最佳答案
var color = document.getElementById("color").value;
var gender = document.getElementById("gender").value;
var size = document.getElementById("size").value;
var matched = products.filter(function(e) {
return (e.color == color && e.gender == gender && e.size == size);
}).map(function(e) { return e.name; });
关于javascript - 在javascript中多次过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18009611/