gpt4 book ai didi

javascript - 使用 'in' 关键字检查 0 总是返回 true?

转载 作者:行者123 更新时间:2023-11-30 10:06:10 25 4
gpt4 key购买 nike

拿下面这段代码:

var testArr = [1, 2, 3, 4, 5];

function check(num) {
if (num !== undefined) {
if (num in testArr) {
alert("in");
} else {
alert("not in");
}
}
}

使用 check() 函数,我尝试检查给定参数是否是 testArr 数组的一部分。

一般来说,该函数工作正常,只有在检查 0 时才满足条件,尽管 0 不是数组的一部分。自己看看:Fiddle

为什么会这样?

我能想到的一个可能的解决方案是 0 在某些情况下被评估为 false (== vs == =), 但是当传递 false 作为参数时,条件不满足,这对我来说没有任何意义——我很困惑。

最佳答案

在这种情况下,您返回数组中存在索引但不存在值。请参阅此文档 in operator .我认为您必须使用 indexOf 函数验证数组的值。

关于javascript - 使用 'in' 关键字检查 0 总是返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29042073/

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