我想在嵌套的对象数组中找到一个数组,我该怎么做?
这是我的数组
const arr = [
{
"teamA": [
{
"_id": "5fcb57c5a1a426c03bcfd25f",
"level": 10,
"username": "asaf"
}
],
"teamB": [],
"options": {}
},
{
"teamA": [
{
"_id": "a7fgy3h1uio",
"level": 10,
"username": "asaf"
}
],
"teamB": [
{
"_id": "13rfedsc32",
"level": 10,
"username": "asaf"
},
{
"_id": "dghg453r3q",
"level": 10,
"username": "asaf"
}
],
"options": {}
}
];
现在我想创建一个函数,通过 _id 返回玩家所在团队的数组
例如,我创建了这个:
const findTeam = playerId => {
const match = arr.find(({ teamA, teamB }) => [teamA, teamB].some(team => team.some(i => i._id == playerId)));
if(!match) return;
const { teamA, teamB } = match;
const team = [teamA, teamB].find(team => team.some(i => i._id == playerId));
return team;
};
它正在工作,但是我这样做的方式看起来很混乱,有什么巧妙的方法可以做到这一点吗?谢谢!
富国沪深
相关分类