Javascript 按Id从数组中选择
我有两个数组 一种是包含每个项目的数组:Javascript 按Id从数组中选择,javascript,arrays,Javascript,Arrays,我有两个数组 一种是包含每个项目的数组: let allProjects = [{project_id: 1, name: "project 1"}, {project_id: 2, name: "project 2"}, {project_id: 3, name: "project 3"}, {project_id: 4, name: "project 4"}] 其中一个只包含项目ID let selectedP
let allProjects = [{project_id: 1, name: "project 1"}, {project_id: 2, name: "project 2"}, {project_id: 3, name: "project 3"}, {project_id: 4, name: "project 4"}]
其中一个只包含项目ID
let selectedProjects = [{project_id: 1}, {project_id: 2}]
如何从allProjects数组中获取名称,并根据selectedProjects数组中提供的id返回包含名称和id的新数组?您可以使用
过滤器
、映射
和包含
的组合:
console.log(allProjects
.filter(project => selectedProjects
.map(p => p.project_id)
.includes(project.project_id)));
输出:
[
{ project_id: 1, name: 'project 1' },
{ project_id: 2, name: 'project 2' }
]
也许有一种方法可以避免
map
,但对我来说map
集中了意图。[Array.prototype.filter()
+]Array.prototype.map()
两个for
循环也可以,所以。。。到目前为止,你是如何独自解决这个问题的?