我有一个对象列表,
data[
{
Name: "Ronaldo"
TeamId: "JuventusFC"
TeamName: "Juventus"
PId: "4dc0a2d69cc080aaf8c7"
PTypeID: "GOAT"
},
{
Name: "Messi"
TeamId: "BarcaFC"
TeamName: "Barca"
PId: "4dc0a2d69cc080aaf8c7"
PTypeID: "GOAT"
}
]
我需要获取与 TeamId "BarcaFC" 匹配的对象
我试过,
const myTeamId = "BarcaFC"
const getTeamName = this.props.playerList.data.filter((player) => player.TeamId === myTeamId);
我也试过, const getTeamName = this.props.playerList.data.find((player) => player.TeamId === myTeamId);
但我这能按预期工作
您的过滤器功能实现不正确。请在此处查看文档https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
对于您的代码,这应该有效:
const getTeamName = this.props.playerList.data.filter(el => el.TeamId === myTeamId);
它检查数组中的每个对象,并匹配 teamId。
更新:添加了工作片段。您的数据中有几个问题,第一个数据应该是一个对象数组,例如const data = [{},{}]
,而不是const data = {{},{}}
在上面的示例中。
其次,const myTeamId = "BarcaFc"
在您的示例中,但数据列表中的值为BarcaFC
. 请找到工作代码:
var data= [
{
'Name': "Ronaldo",
TeamId: "JuventusFC",
TeamName: "Juventus",
PId: "4dc0a2d69cc080aaf8c7",
PTypeID: "GOAT"
},
{
'Name': "Messi",
TeamId: "BarcaFC",
TeamName: "Barca",
PId: "4dc0a2d69cc080aaf8c7",
PTypeID: "GOAT"
}
]
const myTeamId = "BarcaFC"
const myTeamList = data.filter(el => el.TeamId === myTeamId);
console.log(myTeamList)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句