gpt4 book ai didi

javascript - NaN !== 'number' Javascript 时未触发条件 block

转载 作者:行者123 更新时间:2023-12-02 16:33:16 25 4
gpt4 key购买 nike

我正在编写一个关于代码 war 的数组计算器。我有一个函数可以检查数组中的数字和运算符的有效序列。我的函数 validSequence() 没有按预期返回 false。此测试数组中的错误:

Test.assertSimilar(validSequence(['10', '+', '20', '*','3', '*']), false)

validSequence() 中的这一行没有被捕获

if(typeof parseInt(arr[arr.length-1]) !== 'number'){
return false;
}

我不知道为什么。它按照预期给出了 NaN,所以我不知道为什么它没有进入 block 并返回 false。

最佳答案

这是因为 NaN 具有数字类型。相反,使用 isNaN检测是否 parseInt返回一个有理数。

if(isNaN(parseInt(arr[arr.length-1]))){
return false;
}

parseInt 将始终返回一个有理数,或 NaN,因此没有理由检查变量类型,因为它始终是 'number' .

关于javascript - NaN !== 'number' Javascript 时未触发条件 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28134115/

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