我正在尝试过滤父数组的子数组,结果返回为空。我正在尝试找到与color_family相匹配的内容。
我的数组如下:
const arr =[
{
"id": 123,
"acf": {
"product_colors": [
{
"color_family": "grey"
},
{
"color_family": "taupe"
}
]
}
},
{
"id": 456,
"acf": {
"product_colors": [
{
"color_family": "red"
},
{
"color_family": "taupe"
}
]
}
}
]
我要过滤的是
const findColors = ["grey", "taupe"]
我没有运气尝试过的是
const res = arr.filter(
x => x.acf.product_colors.find(
color_family => findColors.includes(color_family)
)
)
它应返回2个结果时不返回任何结果。有人可以指出我正确的方向吗?
答案 0 :(得分:3)
除了输入错误外,find
参数的参数是带有color_family
的对象:
const res = arr.filter(x => x.acf.product_colors.find(col => {
return findColors.includes(col.color_family);
}))