【发布时间】:2020-10-22 05:55:40
【问题描述】:
这是一个代码示例:-
projects数组:-
let projects = [
{
id: 1,
name: 'Project 1',
techs: [
{ id: 1a, name: 'Tech 1' }, { id: 1b, name: 'Tech 2' }
]
},
{
id: 2,
name: 'Project 2',
techs: [
{ id: 1b, name: 'Tech 2' }, { id: 1c, name: 'Tech 3' }
]
},
{
id: 3,
name: 'Project 3',
techs: [
{ id: 1c, name: 'Tech 3' }, { id: 1d, name: 'Tech 4' }
]
},
{
id: 4,
name: 'Project 4',
techs: [
{ id: 1d, name: 'Tech 1' }, { id: 1e, name: 'Tech 5' }
]
}
]
现在我的代码如下所示:-
// get projects that have tech of ids of '1a' and '1d'
let filteredProjs = projects.filter(proj => proj.techs.some(tech => tech.id === '1a' || tech.id === '1d'))
console.log(filteredProjs) // Will give me 'Project 1', 'Project 3', and 'Project 4'
它有效。但是我怎样才能使它变得更加动态,而不必手动插入一些condition? (例如:tech.id === '1a' || tech.id === '1d')
【问题讨论】:
标签: arrays sorting arraylist filter array-filter