- 名前とチーム名を書いたプレイヤー一覧
- 好きなチームを書いたファン一覧
- ファンが好きなチームに所属しているプレイヤーを取得する
const playerList = [
{
id: 1,
name: 'イチロー',
team: 'マリナーズ',
},
{
id: 2,
name: '松井',
team: 'ヤンキース',
},
{
id: 3,
name: 'マー君',
team: 'ヤンキース',
}
];
const fanList = [
{
id: 1,
team: 'レッドソックス',
},
{
id: 2,
team: 'ヤンキース'
},
{
id: 3,
team: 'ジャイアンツ'
}
];
const pupolarTeamList = fanList.map(fan => fan.team)
const popularPlayerList = playerList.filter(player => pupolarTeamList.includes(player.team));
console.log(popularPlayerList)
/*
[
{
id: 2,
name: '松井',
team: 'ヤンキース',
},
{
id: 3,
name: 'マー君',
team: 'ヤンキース',
}
]
*/
チームごとに分ける
- ファンが好きなチームに所属しているプレイヤーをチームごとに分ける
const playerList = [
{
id: 1,
name: 'イチロー',
team: 'マリナーズ',
},
{
id: 2,
name: '松井',
team: 'ヤンキース',
},
{
id: 3,
name: 'マー君',
team: 'ヤンキース',
}
];
const fanList = [
{
id: 1,
team: 'レッドソックス',
},
{
id: 2,
team: 'ヤンキース'
},
{
id: 3,
team: 'ジャイアンツ'
},
{
id: 4,
team: 'マリナーズ'
}
];
const pupolarTeamList = fanList.map(fan => fan.team)
let eachTeamPlayerList = [];
pupolarTeamList.forEach((pupolarTeam) => {
const eachTeamPlayer = playerList.filter(player => playerTeam === pupolar.team);
if (eachTeamPlayer.length) {
eachTeamPlayerList.push(eachTeamPlayer);
}
});
console.log(eachTeamPlayerList)
/*
[
[
{
id: 2,
name: '松井',
team: 'ヤンキース',
},
{
id: 3,
name: 'マー君',
team: 'ヤンキース',
}
],
[
{
id: 1,
name: 'イチロー',
team: 'マリナーズ',
},
]
]
*/