和includes方法识别有什么区别
时间: 2023-11-29 13:04:28 浏览: 62
ES6中Array.includes()函数的用法
5星 · 资源好评率100%
`Array.prototype.includes()` 方法和 `Array.prototype.indexOf()` 方法都可以用来判断一个元素是否存在于数组中,但是它们之间有几个区别:
1. `Array.prototype.includes()` 方法是 ES6 引入的新方法,而 `Array.prototype.indexOf()` 方法是 ES5 中就已经存在的方法。
2. `Array.prototype.includes()` 方法返回一个布尔值,表示元素是否存在于数组中,而 `Array.prototype.indexOf()` 方法返回一个数值,表示元素在数组中的下标,如果不存在则返回 -1。
3. `Array.prototype.includes()` 方法可以判断 NaN 是否存在于数组中,而 `Array.prototype.indexOf()` 方法不能准确地判断 NaN 是否在数组中。
4. `Array.prototype.includes()` 方法使用的是严格相等运算符(===)来比较元素和数组中的每个元素,而 `Array.prototype.indexOf()` 方法使用的是松散相等运算符(==)来比较元素和数组中的每个元素。
因此,如果需要判断一个元素是否存在于数组中,且不需要知道该元素在数组中的下标,可以使用 `Array.prototype.includes()` 方法;如果需要知道该元素在数组中的下标,或者需要判断 NaN 是否存在于数组中,可以使用 `Array.prototype.indexOf()` 方法。
阅读全文