ECMAScript 2019 中的 Array.prototype.includes() 方法详解

前言

在前端开发中,数组是我们常常使用的一种数据类型。在 ECMAScript 2016 中,新增了 Array.prototype.includes() 方法,可以方便地判断一个数组是否包含某个元素。在 ECMAScript 2019 中,这个方法又进行了一些改进和增强,本文将详细介绍 Array.prototype.includes() 方法的用法和注意事项。

简介

Array.prototype.includes() 方法用于判断一个数组是否包含某个元素,返回值为布尔类型。该方法的语法如下:

其中,searchElement 表示要查找的元素,fromIndex 表示从哪个位置开始查找。如果省略 fromIndex,则默认从数组的起始位置开始查找。

示例

下面是一个简单的示例,演示了如何使用 Array.prototype.includes() 方法来判断一个数组是否包含某个元素:

上面的代码中,arr.includes(3) 返回 true,因为数组 arr 包含元素 3;arr.includes(6) 返回 false,因为数组 arr 不包含元素 6。

注意事项

1. 比较方式

Array.prototype.includes() 方法使用的是“同值相等”比较方式。这意味着它会先将要查找的元素和数组中的每个元素进行“同值相等”比较,然后返回第一个匹配的元素的下标。在比较过程中,它会使用 Object.is() 方法进行比较。

上面的代码中,NaN === NaN 返回 false,因为 NaN 不等于任何值,包括它自己;而 Object.is(NaN, NaN) 返回 true,因为 Object.is() 方法使用的是“同值相等”比较方式。

2. 查找顺序

Array.prototype.includes() 方法从 fromIndex 开始查找元素,如果找到了就返回 true。如果没有找到,就返回 false。如果省略了 fromIndex,就从数组的起始位置开始查找。如果 fromIndex 是负数,则从数组的末尾开始查找。

3. 可枚举属性

Array.prototype.includes() 方法只会查找数组的可枚举属性。因此,如果数组中某个元素不是可枚举属性,该方法就无法找到它。

总结

Array.prototype.includes() 方法是 ECMAScript 2016 中新增的方法,用于判断一个数组是否包含某个元素。在 ECMAScript 2019 中,这个方法进行了一些改进和增强,可以更好地满足我们的需求。在使用该方法时,需要注意比较方式、查找顺序和可枚举属性等问题。希望本文能够对大家有所帮助。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65742e9ed2f5e1655dd71a9d


纠错
反馈