我有一个mern应用程序,并通过axios获得所有专辑。
其结构如下:
[
{
title: "",
artist: "",
reviews: [
{
username: "",
comment: "",
},
{
username: "",
comment: "",
},
]
},
{
title: "",
artist: "",
reviews: []
},
]例如,我需要过滤每个在内部具有特定用户名的review.object,但是返回对象,其中包含了检查数组。
如果index3 res.data ->检查->对象有用户名,则返回该res.data对象。我试着用过滤器里面的过滤器,但它没有工作。
发布于 2022-01-02 18:02:19
您可以创建一个获取用户名的函数,然后映射并过滤它,以便只显示所需的数据。
尝尝这个
const datas = [
{
title: "",
artist: "",
reviews: [
{
username: "a",
comment: "",
},
{
username: "b",
comment: "",
},
]
},
{
title: "",
artist: "",
reviews: []
},
]
const filteredReviews = username => {
return datas.map(data => {
if (data.reviews.length > 0) {
if (data.reviews.filter(review => review.username == username).length > 0) {
return data
}
}
return null
}).filter(data => data)
}通过这个例子,我在映射中为那些我不需要的对象返回了null,然后为它的具有值的元素筛选数组
然后,您就可以像这样调用该函数来获得所需的对象。
console.log(filteredReviews('b'))https://stackoverflow.com/questions/70558314
复制相似问题