技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

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

demodownload

在这个例子中:

首先,我们用两个对象初始化cars数组:fordtoyota

然后,我们使用该includes()方法检查cars数组是否包含ford对象,在这种情况下,它返回true

最后, bmw对象不在 cars数组中,因此includes()方法按预期返回false

总结

在本文中,我们学习了如何使用 JavaScript Array includes()方法检查元素是否在数组中。

相关文章

标签: includes  
相关文章
    x
    • 站长推荐
    /* 左侧显示文章内容目录 */