ECMAScript 2018 中 Array.prototype.includes() 方法的详解
在 ECMAScript 2016 中,Array.prototype.includes() 方法被引入到了 JavaScript 中,并在 ECMAScript2017 中进行了修订和修改。它是 JavaScript 数组对象的实例方法之一,可以用于判断一个数组中是否包含某个元素,并返回布尔值。ES2018 进一步完善了这个方法,使其可以接收第二个参数,用于指定搜索的起始位置。下面将详细介绍 Array.prototype.includes() 方法的用法和注意事项。
语法
Array.prototype.includes() 方法的基本语法如下:
arr.includes(searchElement[, fromIndex])
其中,arr 表示要使用这个方法的数组;searchElement 表示要在数组中搜索的元素;fromIndex 是可选的参数,指定搜索的起始位置,默认为 0。
返回值
Array.prototype.includes() 方法的返回值是一个布尔值,如果数组中包含了 searchElement,返回 true;如果没找到,则返回 false。
示例代码:
var array1 = [1, 2, 3];
console.log(array1.includes(2)); // true
console.log(array1.includes(4)); // false
console.log(array1.includes(3, 3)); // false(从第 3 个位置开始查找,未找到)
console.log(array1.includes(3, -1)); // true(从倒数第一个位置开始查找,找到了)
注意事项
以下是 Array.prototype.includes() 方法的一些注意事项:
- 该方法区分数据类型,如果要查找的元素与数组元素的数据类型不一致,结果将返回 false。
示例代码:
console.log([NaN].includes(NaN)); // true
console.log([1, 2, 3].includes('2')); // false
- 可以使用 fromIndex 参数指定搜索的起始位置。如果 fromIndex 是正数,则从该位置向后搜索;如果 fromIndex 是负数,则从数组的倒数第 fromIndex 个位置向前搜索。
示例代码:
var array1 = ['a', 'b', 'c'];
console.log(array1.includes('c')); // true
console.log(array1.includes('c', 2)); // true
console.log(array1.includes('c', -1)); // false
- 如果不传递参数,则默认从数组的第一个位置开始搜索。
示例代码:
var array1 = ['a', 'b', 'c'];
console.log(array1.includes()); // false
console.log(array1.includes(undefined)); // true
结论
Array.prototype.includes() 方法是 JavaScript 中数组对象的实例方法之一,用于判断数组中是否存在某个元素。通过为其传递一个元素和可选的搜索起始位置,可以返回一个布尔值来表示数组中是否包含指定的元素。同时,开发者应该注意该方法对数据类型的区分以及 fromIndex 参数的使用。掌握 Array.prototype.includes() 方法对于编写高效的 JavaScript 代码非常有帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/677540136d66e0f9aaf5ef9f