gpt4 book ai didi

javascript - 在 if/else 中使用条件值

转载 作者:数据小太阳 更新时间:2023-10-29 05:49:24 25 4
gpt4 key购买 nike

我想知道是否可以像下面的示例那样直接访问条件的值。

var a = ["pear", "kiwi", "orange", "apple"]
if(a.indexOf("orange") !== -1){
console.log(this) //as a.indexOf("orange") has been evaluated already above this prints 2
}

这也会使三元运算符不那么臃肿

var a = ["pear", "kiwi", "orange", "apple"]
var b = ((a.indexOf("orange") !== -1) ? this : '') //"this" equals 2

谢谢

编辑:为任何 future 的访客清除这个问题。基本上这个问题是关于检索在 if/else 语句中评估的结果值。在例子中

var a = ["pear", "kiwi", "orange", "apple"]
if(a.indexOf("orange") !== -1){ //is basically if(2 !== -1)
console.log(this) //would then be "2" from the already evaluted a.indexOf from above
}

最佳答案

如果目标是不计算两次,您可以简单地将它存储在语句之前。您的字面问题的答案是否定的。

const orangeIndex = a.indexOf("orange")

if (orangeIndex !== -1) {
console.log(orangeIndex)
}

同样的概念适用于三元运算符。

正如其他人所展示的那样,您也可以声明一个变量并在 if 语句本身中进行实际赋值,但我认为这会降低您的代码的可读性而不增加任何值。

关于javascript - 在 if/else 中使用条件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41401051/

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