gpt4 book ai didi

javascript - 传递一个属性,在传递时计算其值

转载 作者:行者123 更新时间:2023-12-01 02:05:24 24 4
gpt4 key购买 nike

我目前正在尝试返回带有 isMyOffer 属性的组件。

return (
<div>
<ul>
{Object.keys(offers).map(key => (
<Offer
key={key}
index={key}
details={offers[key]}
account={this.props.account}
isMyOffer={this.props.checkIfMyOffer(key, this.props.account.myOffers)}
addToMyOffers={this.props.addToMyOffers}
/>
))}
</ul>
</div>
)

我的函数 checkIfMyOffer() 应该在创建的第一个 Offer 上返回 true,为其他的 Offer 返回 false,但对所有这些都返回 false。

checkIfMyOffer = (offerKey, myOffers) => {
if(myOffers){
Object.keys(myOffers).forEach(key => {
if(offerKey === myOffers[key]) {
console.log("return " + offerKey)
return true
}
})
}
return false
};

console.log 显示我正在进入条件循环,但我的 Offer 组件的 isMyOffer 值仍然为 false

感谢您的帮助。

最佳答案

if(myOffers) {
if(Object.values(myOffers).find(x => x === offerKey)) {
return true;
}
}

return false;

此方法使用 Array.prototype.find() 来查看键是否在 Object.values() 数组中。

或者可以使用.includes(),如OP所述:

if(myOffers) {
if(Object.values(myOffers).includes(offerKey)) {
return true;
}
}

return false;

关于javascript - 传递一个属性,在传递时计算其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50145745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com