Javascript 如何筛选对象数组的子对象,然后返回更新子对象的父对象?
我试图通过一个对象数组筛选它的子对象,然后更新子对象并返回具有更新子对象的父对象 对象的示例数组:Javascript 如何筛选对象数组的子对象,然后返回更新子对象的父对象?,javascript,reactjs,filter,Javascript,Reactjs,Filter,我试图通过一个对象数组筛选它的子对象,然后更新子对象并返回具有更新子对象的父对象 对象的示例数组: [ { "id": 1, "name": "group1", "users": [ { "id": 1, "name": "Mike" }, { "id": 2,
[
{
"id": 1,
"name": "group1",
"users": [
{
"id": 1,
"name": "Mike"
},
{
"id": 2,
"name": "Steve"
},
{
"id": 3,
"name": "John"
}
]
},
{
"id": 2,
"name": "group2",
"users": [
{
"id": 4,
"name": "Phill"
},
{
"id": 5,
"name": "Joe"
},
{
"id": 6,
"name": "Dominik"
}
]
}
]
我在React中有一个输入,有人可以输入一个用户的名字,然后我只想显示具有该名字的用户,同时保留他们所在的组
例如,如果输入为“Mike”,我希望结果为:
[
{
"id": 1,
"name": "group1",
"users": [
{
"id": 1,
"name": "Mike"
}
]
},
{
"id": 2,
"name": "group2",
"users": []
}
]
你可以使用和来做这件事
let arr=[{“id”:1,“name”:“group1”,“users”:[{“id”:1,“name”:“Mike”},{“id”:2,“name”:“Steve”},{“id”:3,“name”:“John”},{“id”:2,“name”:“group2”,“users”:[{“id”:4,“name”:“Phill”},{“id”:5,“name”:“Joe”},{“id”:6,“name”:“Dominik”}];
函数过滤器(arr,名称){
返回arr.map(obj=>{
返回{
…obj,
“users”:obj.users.filter(user=>user.name==name)
};
});
}
控制台日志(过滤器用户(arr,“Mike”)代码>您可以使用和来执行此操作
let arr=[{“id”:1,“name”:“group1”,“users”:[{“id”:1,“name”:“Mike”},{“id”:2,“name”:“Steve”},{“id”:3,“name”:“John”},{“id”:2,“name”:“group2”,“users”:[{“id”:4,“name”:“Phill”},{“id”:5,“name”:“Joe”},{“id”:6,“name”:“Dominik”}];
函数过滤器(arr,名称){
返回arr.map(obj=>{
返回{
…obj,
“users”:obj.users.filter(user=>user.name==name)
};
});
}
控制台日志(过滤器用户(arr,“Mike”)代码>