javascript - 基于值的 Javascript/React 过滤数组
问题描述
{
"team_list": ["Bob Hill", "Jack Duncan", "John List"],
"team_data": {
"Bob Hill": { "role": "member" },
"Jack Duncan": { "role": "captain" },
"John List": { "role": "member" }
}
}
如果我有这样的对象,我如何使用 .filter() (或任何其他方法)来过滤掉角色不是“成员”的人,以便得到:
{
"team_list": ["Bob Hill", "John List"],
"team_data": {
"Bob Hill": { "role": "member" },
"John List": { "role": "member" }
}
}
解决方案
在 的每个成员中team_list
也有一个条目的情况下team_data
,您可以执行以下操作:
const memberEntries = Object.entries(obj.team_data).filter(
([name, attributes]) => attributes.role !== 'member',
);
const membersOnly = {
team_list: memberEntries.map(([name]) => name),
team_data: Object.fromEntries(memberEntries),
}
推荐阅读
- powershell - 如何使用 powershell 将此文本文件输出为表格格式?
- reactjs - 您可以使用 this.props.history.push 将道具传递给与路径名不同的组件吗?
- c - 为什么使用指向结构的指针而不是直接使用结构(C)
- docker - Docker镜像rstudio/rstudio-server-pro挂载持久化配置目录时无法运行容器实例
- c++ - 如何进行矩阵*向量乘法并将此结果传递给 R 中 TMB 中的向量?
- java - 如何使用 Java API 列出 Kafka 集群中的所有可用代理?
- typescript - 打字稿:使用解构缩小类型
- c# - Servicestack 服务无法使用 HttpClient
- php - 如何向@Assert 添加消息?
- java - 尝试在服务启动但应用程序崩溃时调用位置权限