【发布时间】:2021-12-28 10:11:47
【问题描述】:
我只需要branchId。所以我使用filter方法过滤这个数组并将branchId存储在react状态。
const [branchID,setBranchID]=React.useState([]);
const tempTwo=[
{
branchId: "61b25e0ae177d62ce4cb3b47",
branchName: "Shopzier Malabe Branch"
},
{
branchId: "61aa4f802aed6f0022102a99"
branchName: "Test Branch New Update"
},
{
branchId: "619f346f17b5522b184d5c01",
branchName: "Shopzier Main Branch Update Trest12"
}
]
React.useEffect(()=>{
setBranchID([...tempTwo.filter(item=>item.branchId)])
},[])
但是当我控制台记录 branchID 时,它会打印我的完整数组,而不仅仅是 branchID。 如何从我的对象数组中过滤 branchID。我不知道出了什么问题,为什么会这样。如果有人可以帮助我,我真的很感激。谢谢。
【问题讨论】:
-
过滤器完全按预期工作。也许你需要
map? -
您使用了错误的数组方法,应该使用
tempTwo.map(item => item.branchId)Map 方法将返回一个新数组,您也不需要扩展运算符 -
您打算改用
.map吗?tempTwo.map(i => i.branchId) -
使用
map而不是filter -
感谢大家的回答。到目前为止,我对过滤方法的想法是错误的。❤️
标签: javascript arrays reactjs object