在前端开发中,经常需要对数组进行操作,其中一个常见的需求就是判断数组中是否存在指定元素。在 ES7 中,新增了一个 Array.prototype.includes() 方法,可以方便地实现这个需求。
Array.prototype.includes() 方法的介绍
Array.prototype.includes() 方法用于判断一个数组是否包含一个指定的值,返回一个布尔值。它可以替代 Array.prototype.indexOf() 方法,更加直观和易用。
Array.prototype.includes() 方法的语法如下:
arr.includes(value)
其中,arr 表示要进行判断的数组,value 表示要查找的元素。
如果 arr 中包含 value,则返回 true;如果不包含,则返回 false。
Array.prototype.includes() 方法的使用示例
下面是一个简单的示例,演示了如何使用 Array.prototype.includes() 方法判断一个数组中是否包含指定元素:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
在这个示例中,我们先定义了一个数组 arr,包含了 1 到 5 这些元素。然后,我们使用 arr.includes() 方法分别判断了数组中是否包含了 3 和 6 两个元素。由于数组中包含了 3,所以第一个判断返回 true;而数组中不包含 6,所以第二个判断返回 false。
Array.prototype.includes() 方法的注意事项
需要注意的是,Array.prototype.includes() 方法对 NaN 的判断是有特殊规定的。具体来说,如果数组中包含了 NaN,那么 arr.includes(NaN) 会返回 true;而如果数组中不包含 NaN,那么 arr.includes(NaN) 会返回 false。
下面是一个示例,演示了如何使用 Array.prototype.includes() 方法判断数组中是否包含 NaN:
const arr = [1, 2, NaN, 4, 5]; console.log(arr.includes(NaN)); // true console.log([1, 2, 3, 4, 5].includes(NaN)); // false
在这个示例中,我们定义了一个数组 arr,其中包含了 1 到 5 这些元素以及一个 NaN。然后,我们使用 arr.includes() 方法判断了数组中是否包含了 NaN。由于数组中包含了 NaN,所以判断返回 true。
总结
Array.prototype.includes() 方法是 ES7 中新增的一个数组方法,用于判断一个数组是否包含一个指定的值。与 Array.prototype.indexOf() 方法相比,Array.prototype.includes() 方法更加直观和易用,可以方便地实现数组中是否存在指定元素的需求。需要注意的是,对于 NaN 的判断是有特殊规定的。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656445d2d2f5e1655ddb0ff6