使用 ES2017 (ES8) 中的 Array.prototype.includes 避免对包含 NaN 的数组时产生的异常

阅读时长 2 分钟读完

在 JavaScript 中,NaN 表示不是数字。NaN 是一种特殊的数字类型,比较它和任何一个值都不相等,甚至自己和自己也不相等。在数组中包含 NaN 时,需要小心使用数组方法来避免出现异常。

在 ES2017 (ES8) 中,Array.prototype.includes 方法被添加到 ECMA-262 标准中,它可以帮助我们避免在数组中包含 NaN 时出现异常的情况。

Array.prototype.includes 方法的用法

Array.prototype.includes 方法可以用来检查一个数组是否包含一个指定的值。它的语法如下:

其中:

  • searchElement,要查找的元素。
  • fromIndex,开始查找的位置。如果省略,则默认从数组首位开始查找。

Array.prototype.includes 返回一个布尔值,表示搜索的元素是否在数组中找到。

示例代码

让我们看一下下面的代码,它使用 for 循环来检查一个包含 NaN 的数组:

上面的代码将不会输出任何东西。为什么?因为在 JavaScript 中,NaN 不等于任何一个值,包括它自己。所以,上面的代码的 if 语句里的比较操作符永远不会成立。

使用 Array.prototype.includes 方法可以解决以上问题,代码如下:

上述代码中,方法 Array.prototype.includes 是一种简洁的避免 NaN 对数组操作产生异常的方法。

总结

在数组中包含 NaN 时,需要小心使用数组方法,因为 NaN 与任何值都不相等,包括它自己。ES2017 (ES8)中的 Array.prototype.includes 方法能够避免因与 NaN 的操作而引发的异常。熟练掌握 includes 方法的使用能够提高编程效率,减少编程中出现的错误,提高程序的鲁棒性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f92abdf6b2d6eab30bceab

纠错
反馈