我写这个是想匹配一个字符串是否匹配数组中的一个字符串。使用 find() 它返回了匹配项,但我只想要一个 bool 值,所以我写了一个 if 语句。关于如何重写此清洁器以获得 bool 值的任何提示或提示?
watchName 属性来自库存 watch 数据的 map()
.map(watch => (
<WatchItem
isInCart={this.isInCart(watch.name)}
.....
.
isInCart = watchName => {
const hasMatch = this.props.cart.find(watch => watch.item === watchName);
if (hasMatch) {
return true;
} else {
return false;
}
};
为了更好地了解 this.props.cart 里面的内容,我在下面添加了它 它是一个对象数组。图为index[0]和index 1添加的购物车项目
我会再次阅读 mdn 文档,但认为最好发帖,以防有人能快速回答。 不胜感激。
最佳答案
您可以改用 Array.prototype.some
,它检查数组中的任何元素是否满足条件,并返回一个 bool 值:
isInCart = watchName => this.props.cart.some(watch => watch.item === watchName);
关于javascript - 返回 bool 值的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675197/