array-includes

中文文档
3.2.0发布于 2026/09/10MITTypeScriptCommonJS近 30 天下载 3亿

An ES7/ES2016 spec-compliant Array.prototype.includes shim/polyfill/replacement that works as far down as ES3.

原始使用文档
文档目录4 节
  1. Getting started
  2. Usage
  3. Example
  4. Tests

array-includes Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES7/ES2016 spec-compliant Array.prototype.includes shim/polyfill/replacement that works as far down as ES3.

This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the proposed spec.

Because Array.prototype.includes depends on a receiver (the this value), the main export takes the array to operate on as the first argument.

Engines that need this package include:

  • IE (all versions)
  • Safari < 9
  • Firefox < 43, and 99-101
  • Chrome < 47
  • Edge < 14
  • node < 6

Getting started

npm install --save array-includes

Usage

Basic usage: includes(array, value[, fromIndex=0])

var includes = require('array-includes');
var assert = require('assert');
var arr = [ 'one', 'two' ];

includes(arr, 'one'); // true
includes(arr, 'three'); // false
includes(arr, 'one', 1); // false

Example

var arr = [
    1,
    'foo',
    NaN,
    -0
];

assert.equal(arr.indexOf(0) > -1, true);
assert.equal(arr.indexOf(-0) > -1, true);
assert.equal(includes(arr, 0), true);
assert.equal(includes(arr, -0), true);

assert.equal(arr.indexOf(NaN) > -1, false);
assert.equal(includes(arr, NaN), true);

assert.equal(includes(arr, 'foo', 0), true);
assert.equal(includes(arr, 'foo', 1), true);
assert.equal(includes(arr, 'foo', 2), false);
/* when Array#includes is not present */
delete Array.prototype.includes;
var shimmedIncludes = includes.shim();

assert.equal(shimmedIncludes, includes.getPolyfill());
assert.equal(arr.includes('foo', 1), includes(arr, 'foo', 1));
/* when Array#includes is present */
var shimmedIncludes = includes.shim();

assert.equal(shimmedIncludes, Array.prototype.includes);
assert.equal(arr.includes(1, 'foo'), includes(arr, 1, 'foo'));

Tests

Simply clone the repo, npm install, and run npm test

版本与发布记录

array-includes 共发布 25 个版本,首次发布于 2015/01/04;过去 12 个月发布了 1 个版本。

版本发布日期距今
3.2.0latest2026/09/101 个月前
3.1.92025/06/021.4 年前
3.1.82024/03/212 年前
3.1.72023/09/043 年前
3.1.62022/11/083 年前
3.1.52022/05/044 年前

关于 array-includes 的常见问题

array-includes 是什么?

An ES7/ES2016 spec-compliant Array.prototype.includes shim/polyfill/replacement that works as far down as ES3.

如何安装 array-includes?

在项目目录运行 npm install array-includes,或使用 pnpm add / yarn add / bun add。

array-includes 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

array-includes 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

array-includes 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >= 0.4。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

array-includes 可以商用吗?

array-includes 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

array-includes 的下载量有多少?

根据 npm 官方下载统计,array-includes 在 2026/10/05 – 2026/11/03 这 30 天内被下载 304,517,676 次,日均约 10,150,589 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

array-includes 还在维护吗?

最新版本 3.2.0 发布于 2026/09/10(1 个月前);至今共发布 25 个版本,其中过去 12 个月发布了 1 个;首次发布于 2015/01/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。