使用find()确定条件的结果

时间:2018-08-10 08:43:00

标签: javascript reactjs

我无法理解如何在条件内使用find()

基本上,如果item.label等于e.target.value,我希望条件语句等于true。

if (this.props.Items.find(item => item.label === e.target.value)) {
    // Both values match
}

您知道我在这里哪里出错了吗?谢谢

5 个答案:

答案 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")
        }