array.prototype.flatmap

中文文档
1.3.3发布于 2024/12/16MITCommonJS近 30 天下载 2.9亿

An ES2019 spec-compliant Array.prototype.flatMap shim/polyfill/replacement that works as far down as ES3.

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

array.prototype.flatmap Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES2019 spec-compliant Array.prototype.flatMap 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 spec.

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

Getting started

npm install --save array.prototype.flatmap

Usage/Examples

var flatMap = require('array.prototype.flatmap');
var assert = require('assert');

var arr = [1, [2], [], 3];

var results = flatMap(arr, function (x, i) {
    assert.equal(x, arr[i]);
    return x;
});

assert.deepEqual(results, [1, 2, 3]);
var flatMap = require('array.prototype.flatmap');
var assert = require('assert');
/* when Array#flatMap is not present */
delete Array.prototype.flatMap;
var shimmedFlatMap = flatMap.shim();

var mapper = function (x) { return [x, 1]; };

assert.equal(shimmedFlatMap, flatMap.getPolyfill());
assert.deepEqual(arr.flatMap(mapper), flatMap(arr, mapper));
var flatMap = require('array.prototype.flatmap');
var assert = require('assert');
/* when Array#flatMap is present */
var shimmedIncludes = flatMap.shim();

var mapper = function (x) { return [x, 1]; };

assert.equal(shimmedIncludes, Array.prototype.flatMap);
assert.deepEqual(arr.flatMap(mapper), flatMap(arr, mapper));

Tests

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

版本与发布记录

array.prototype.flatmap 共发布 14 个版本,首次发布于 2017/10/01;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.3.3latest2024/12/161.9 年前
1.3.22023/09/073 年前
1.3.12022/11/034 年前
1.3.02022/04/124 年前
1.2.52021/10/025 年前
1.2.42020/11/185 年前

关于 array.prototype.flatmap 的常见问题

array.prototype.flatmap 是什么?

An ES2019 spec-compliant Array.prototype.flatMap shim/polyfill/replacement that works as far down as ES3.

如何安装 array.prototype.flatmap?

在项目目录运行 npm install array.prototype.flatmap,或使用 pnpm add / yarn add / bun add。

array.prototype.flatmap 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/array.prototype.flatmap 是否存在。

array.prototype.flatmap 支持 ESM 还是 CommonJS?

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

array.prototype.flatmap 需要什么版本的 Node.js?

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

array.prototype.flatmap 可以商用吗?

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

array.prototype.flatmap 的下载量有多少?

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

array.prototype.flatmap 还在维护吗?

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