JavaScript检查元素是否在数组中:includes()使用示例
作者:admin 时间:2022-7-13 10:43:26 浏览:本文将介绍includes()
检查元素是否在数组中的 JavaScript Array 方法。
indexOf()方法的缺陷
使用数组时,你经常需要检查数组是否包含某元素。为此,你可以使用indexOf()
等方法,参考JS数组元素定位方法使用区别:indexOf()、find()和findIndex(),如下所示:
let numbers = [1,2,3];
if(numbers.indexOf(2) !== -1){
// process here
}
indexOf()
方法返回数组中第一次出现的元素的索引。如果数组不包含元素,则indexOf()
返回-1。
此外,indexOf()
使用严格相等运算符 ( ===
) 进行比较,因此,它不适用NaN
,如下例所示:
[NaN].indexOf(NaN); // -1
在此示例中,数组包含一个 NaN
元素。然而,indexOf(NaN)
回报-1。
includes()方法弥补了indexOf()方法的缺陷
为了解决这个问题,开发人员想出了一个辅助函数。
ECMAScript 2016 通过提供Array.prototype.includes()
方法标准化了这个功能。
如果数组包含给定元素,则该includes()
方法返回true
;否则,它返回false
。
下面说明了该includes()
方法的语法:
array.includes(element,fromIndex);
includes()
接受两个参数:
- 第一个参数是
element
可以搜索的。 fromIndex
是数组中搜索开始的位置。
请参见以下示例:
[1,2,3].includes(2); // true
[1,2,3].includes(4); // false
[1,2,3].includes(1,1); // false
与indexOf()
方法不同,includes()
方法对NaN
工作得非常好:
[NaN].includes(NaN); // true
请注意,includes()
不区分+0
和-0
,如下例所示:
[-0].includes(+0); // true
includes()方法使用示例
下面的示例演示如何使用includes()
方法检查对象是否在数组中。
let bmw = {name: 'BMW' },
toyota = { name: 'Toyota'},
ford = {name: 'Ford'}
let cars = [ford, toyota];
console.log(cars.includes(ford)); // true
console.log(cars.includes(bmw)); // false
在这个例子中:
首先,我们用两个对象初始化cars
数组:ford
和toyota
。
然后,我们使用该includes()
方法检查cars
数组是否包含ford
对象,在这种情况下,它返回true
。
最后, bmw
对象不在 cars
数组中,因此includes()
方法按预期返回false
。
总结
在本文中,我们学习了如何使用 JavaScript Array includes()
方法检查元素是否在数组中。
相关文章
标签: includes
- 站长推荐