为什么 indexOf() 和 findIndex() 与 Number.isNaN 的工作方式不同?
Why do indexOf() and findIndex() work differently with Number.isNaN?
我试图在数组中找到 NaN
。我找到了这种方法。
console.log([1, NaN, 3].findIndex(Number.isNaN)); //1
然后我尝试对 indexOf
做同样的事情。为什么它不起作用?
console.log([1, NaN, 3].indexOf(Number.isNaN)); //-1
如果您查看 indexOf 的文档,您会发现它不需要函数来进行比较。它严格相等,因此它在数组中寻找 Number.isNaN
。
我试图在数组中找到 NaN
。我找到了这种方法。
console.log([1, NaN, 3].findIndex(Number.isNaN)); //1
然后我尝试对 indexOf
做同样的事情。为什么它不起作用?
console.log([1, NaN, 3].indexOf(Number.isNaN)); //-1
如果您查看 indexOf 的文档,您会发现它不需要函数来进行比较。它严格相等,因此它在数组中寻找 Number.isNaN
。