javascript中graphql嵌套数组的不同值
我有下面这样的GraphQL结果,我正试图用javascript处理这些结果javascript中graphql嵌套数组的不同值,javascript,arrays,Javascript,Arrays,我有下面这样的GraphQL结果,我正试图用javascript处理这些结果 { "data": { "shoeStyleColor": [ { "id": 1, "shoeInventories": [ { "id": 1, "qty": 2, "size": 6.5 }, { "id
{
"data": {
"shoeStyleColor": [
{
"id": 1,
"shoeInventories": [
{
"id": 1,
"qty": 2,
"size": 6.5
},
{
"id": 2,
"qty": 2,
"size": 9
}
]
},
{
"id": 2,
"shoeInventories": [
{
"id": 5,
"qty": 3,
"size": 8
},
{
"id": 6,
"qty": 1,
"size": 9
}
],
}
]
}
}
我想得到一份像这样的不同尺寸的清单。。。[6.5,8,9]
[...new Set(products.data.shoeStyleColor.map(x => x.shoeInventories.map(y => y.size)))]
但是它得到了这样的东西
[6.5,9],[8,9]
一旦我有了它,我想按选定的大小过滤整个数组,比如说9。。。有什么建议吗?尝试使用
const products={“data”:{“shoeStyleColor”:[{“id”:1,“shoeInventories”:[{“id”:1,“数量”:2,“大小”:9}}},{“id”:2,“shoeInventories”:[{“id”:5,“数量”:3,“大小”:8},{“id”:6,“数量”:1,“大小”:9}}}}
const result=[…新集合(products.data.shoeStyleColor.flatMap(x=>x.shoeInventories.map(y=>y.size))]
console.log(result)
非常好,效果非常好。现在,我想根据大小和颜色的选择筛选数组。。const products={“data”:{“shoeStyleColor”:[{“id”:1,“shoeColor”:“{“description”:“Black”},“shoeInventories”:[{“id”:1,“数量”:2,“size”:6.5},{“id”:2,“size”:9}},{“id”:2,“shoeInventories”:[{“id”:5,“qty”:3,“size”:8},{“id”:6,“qty”:1,“size”:9}}}}产品。数据。shoeStyleColor.filter(函数(项){if=“item=”shoeColor&&(item.shoeInventories.size==4.5)){return true}否则{return false})不起作用。解决它吧!filteredProducts=products.data.shoeStyleColor.filter(函数(项){if((item.shoeColor.description==“Brown”)&&(item.shoeInventories.find(o=>o.size==6.5)){return true}否则{return false})