javascript - 为什么 indexOf() 和 findIndex() 与 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
它执行严格相等,因此它在数组中寻找。
推荐阅读
- angular - 如何在Angular 9中使用FormArray加载时自动检查第一个复选框
- amazon-web-services - 如何使用 CodeDeploy 最好地将代码更改部署到 ECS?
- vulkan - Vulkan 忽略 GLSL 图像格式限定符
- java - 如果被groovy分割,grep会添加新行吗?
- php - php在接收数据时崩溃,如何解决这个问题?
- regex - Sublime & Regex:如何查找所有不超过 3 个字母的行,不包括某些行?
- fortran - 在没有临时数组的情况下评估 Fortran 的 SUM(..)?
- java - Spark Java:如何通过键对 ArrayType(MapType) 进行排序并访问已排序数组的值
- sql - 用一些特殊情况计算查询
- java - 只有根元素被插入 BST