gpt4 book ai didi

javascript - 使用三元运算符检查数组中的值

转载 作者:行者123 更新时间:2023-11-29 17:35:50 24 4
gpt4 key购买 nike

我在这里有点困惑。有人可以向我解释为什么三元运算符在这里不起作用吗?

如果我使用常规 if 语句执行此操作,它会起作用

function check(arr, el) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] === el) {
return true;
}
}
return false;
}

console.log(check([1, 2, 3, 4, 5], 3));

如果我使用三元运算符,我会在真值条件下得到 false

function check(arr, el) {
for (var i = 0; i < arr.length; i++) {
return arr[i] === el ? true : false;
}
}

console.log(check([1, 2, 3, 4, 5], 3));

为了对比,这里有一个简单的三元校验函数

function checkTernary(num1, num2) {
return num1 === num2 ? true : false;
}

console.log(checkTernary(2, 3)); // false
console.log(checkTernary(3, 3)); // true

我怀疑在循环外检查错误条件是答案。如同,我正在评估整个循环是否为假。但是评估每个迭代是否为真???我只需要对此有一个明确的解释,如果可以的话,还可以转换为三元

最佳答案

无论何时执行 return 语句,该函数都不会继续执行并返回一个值。

在第一种情况下,代码将返回 false,仅当条件为true时,如果条件为false,则它将继续进行。在第一种情况下,函数 将在循环结束后返回false

在第二个例子中没有执行return的条件,所以它会在第一次迭代中返回并且函数不会进一步执行。

关于javascript - 使用三元运算符检查数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56611429/

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