假设我有这个嵌套数组
array = [
0 = {
"product_no" = 1,
"product_category" = "tool"
},
1 = {
"product_no" = 2,
"product_category" = "food"
},
2 = {
"product_no" = 3,
"product_category" = "tool"
},
3 = {
"product_no" = 4,
"product_category" = "medicine"
}
]
我想获取产品类别为“工具”的对象
我总是可以尝试 foreach 但我认为它不是很有效率。有更好的方法吗?
是的,您可以使用 filter() 方法来获取具有“工具”作为其产品类别的对象。这是一个例子:
const array = [
{ "product_no": 1, "product_category": "tool" },
{ "product_no": 2, "product_category": "food" },
{ "product_no": 3, "product_category": "tool" },
{ "product_no": 4, "product_category": "medicine" }
];
const toolProducts = array.filter(obj => obj.product_category === "tool");
console.log(toolProducts);
输出将是:
[
{
"product_no": 1,
"product_category": "tool"
},
{
"product_no": 3,
"product_category": "tool"
}
]
filter() 方法返回一个新数组,其中包含通过提供的函数实现的测试的所有元素。在这种情况下,我们传递一个箭头函数来检查每个对象的 product_category 属性是否等于“工具”。