我无法理解如何在条件内使用find()
?
基本上,如果item.label
等于e.target.value
,我希望条件语句等于true。
if (this.props.Items.find(item => item.label === e.target.value)) {
// Both values match
}
您知道我在这里哪里出错了吗?谢谢
答案 0 :(得分:1)
您可以通过传递提供的 callback 函数作为参数来使用some
方法。
if (this.props.Items.some(item => item.label === e.target.value)) {
// Both values match
}
答案 1 :(得分:1)
您应在此处使用some
,因为它会告诉您是否有任何符合条件的项目。
if (this.props.Items.some(item => item.label === e.target.value)) {
// Both values match
}
答案 2 :(得分:0)
通常,您的代码有效。但是,如果您确实希望array.find的返回值是true或false,则可以使用!!
进行强制转换:
if (!!this.props.Items.find(item => item.label === e.target.value)) {
// Both values match
}
答案 3 :(得分:0)
结帐Javascript some() method。我想这就是你所追求的。
答案 4 :(得分:0)
与undefined进行比较非常简单,以检查值是否存在
请记住,find返回满足条件的第一个匹配项
let list = [ 'b', 'c'];
if(list.find(item => item === 'a') !== undefined) {
console.log("yeah")
} else {
console.log("ohh no")
}