📜  JavaScript Array includes()方法(1)

📅  最后修改于: 2023-12-03 15:01:36.826000             🧑  作者: Mango

JavaScript Array includes()方法

JavaScript中的Array对象是常用的数据类型之一,它提供了许多操作数组的方法。其中一个常用的方法是includes(),它用于判断一个数组是否包含某个特定的值。本文将介绍includes()方法的用法及其注意事项。

语法

includes()方法的语法如下:

array.includes(searchElement[, fromIndex])
  • searchElement:要查找的元素
  • fromIndex:可选参数,从此索引处开始搜索。默认值为0。

该方法返回一个布尔值,表示该数组中是否包含指定的元素。

示例

下面是一个简单的示例,用于检查数组中是否包含一个特定的元素。

let numbers = [1, 2, 3, 4, 5];
console.log(numbers.includes(3)); // true
console.log(numbers.includes(6)); // false
注意事项
  • includes()方法与indexOf()方法不同,它可以检查NaN值。
  • includes()方法可以检查原始值和引用值。如果搜索的元素是一个对象,则它检查的是对象的值而不是引用。
  • 如果数组包含多个相同的元素,includes()方法仅返回第一个匹配项的索引值。
兼容性

includes()方法是ES6中新添加的方法,不是所有的浏览器都支持该方法。以下是supportsES6.com的数据:

  • Chrome:47+
  • Firefox:43+
  • IE:不支持
  • Edge:14+
  • Safari:9+
  • Opera:34+

如果需要兼容旧浏览器,可以使用polyfill库。如下所示:

if (!Array.prototype.includes) {
  Array.prototype.includes = function(searchElement/*, fromIndex*/) {
    'use strict';
    var O = Object(this);
    var len = parseInt(O.length, 10) || 0;
    if (len === 0) {
      return false;
    }
    var n = parseInt(arguments[1], 10) || 0;
    var k;
    if (n >= 0) {
      k = n;
    } else {
      k = len + n;
      if (k < 0) {k = 0;}
    }
    var currentElement;
    while (k < len) {
      currentElement = O[k];
      if (searchElement === currentElement ||
         (searchElement !== searchElement && currentElement !== currentElement)) { // NaN !== NaN
        return true;
      }
      k++;
    }
    return false;
  };
}
结论

includes()方法是一个实用的方法,它能够方便地检查一个数组中是否包含一个特定的值。可以考虑使用它来简化代码,但需要注意它的兼容性和注意事项。