@arrows/array

中文文档
1.4.1发布于 2020/12/31ISCCommonJS近 30 天下载 23.7万

JS阵列的功能工具

中文使用文档
文档目录77 节
  1. 目录
  2. 导言
  3. 安装
  4. API 参考
  5. 指数
  6. 附录
  7. 但最后一点
  8. 块
  9. 清除( c)
  10. 弯曲
  11. 条目
  12. 每个
  13. 填满
  14. 全部填满
  15. 填充. 结束
  16. 填满 开始
  17. 过滤器
  18. 过滤器不为
  19. 寻找
  20. 查找Index 数据
  21. 首个
  22. 平顶
  23. 平一号
  24. 平方图
  25. 每个
  26. 获取
  27. 组
  28. 拥有
  29. 包含
  30. 索引
  31. 全部指数
  32. 插入
  33. 加入时
  34. 密钥
  35. 最后一个( l)
  36. 最后一个 索引
  37. 上个 IndexOf. all (简体中文)
  38. 地图
  39. 预设( p)
  40. 范围
  41. 减少
  42. 减. 第一个
  43. 减少右边
  44. 减少权利。 第一个
  45. 删除
  46. 暂停
  47. 倒转
  48. 设定
  49. 设置
  50. 大小
  51. 切开
  52. 切片 从
  53. 切开. to
  54. 有点
  55. 排序
  56. 排序.num
  57. 类型.numDesc
  58. 排序.str
  59. 类型.strDesc
  60. 类型
  61. 类型
  62. 排序为
  63. 排序为 .num
  64. 排序为 .numDesc
  65. 排序为 .str
  66. 排序为 .strDesc
  67. 排序为 . locale
  68. 排序为 . localeDesc
  69. 转到本地结构
  70. 倒数
  71. 更新
  72. 数值
  73. 拉链
  74. 全部拉链
  75. zipWith (帮助)
  76. zipWith .all (全称)
  77. 许可证

arrows - array

@ arrows/ 阵列

npm (scoped) CircleCI David (path) Codecov npm bundle size (scoped) GitHub

目录

  1. 导言
  2. 安装
  3. API 参考
  4. 许可证

导言

图书馆的目的是为下列人员提供功能性包装: Array.prototype methods 并为共同任务提供一些额外功能.

所有包装器都尝试尽可能地模仿原始方法,同时提供可堆叠的,自发的数组方法版本. 一个例外是,所有函数都不改变输入数组(甚至 sort, (中文(简体) ), reverse(见a/c.5/49/70,附件).

为方便起见,一些函数有额外的方法执行函数最常用的用例. 比如说.. sort 函数除通用形式外,还包含静态方法(这些方法也是自动驱动的,纯函数),例如: sort.num, (中文(简体) ), sort.numDesc等 (中文(简体) ).

没有本地等同功能 _ 后缀。 这样,我们就可以在未来实施类似本地的版本(如果语言中将添加一个等同的方法),而不会可能打破库的后向相容性.

图书馆有 内置类型定义,提供了极佳的IDE支持.

安装

通过国家预防机制:

npm i @arrows/array

维亚·亚恩:

yarn add @arrows/array

所有模块都可以独立导入(以减小捆绑大小),这里有一些导入方法(您可以使用普通JS或ES模块):

import arr from "@arrows/array"
import { filter } from "@arrows/array"
import filter from "@arrows/array/filter"

API 参考

指数

附录

在数组末尾添加一个值. 和Array.prototype.push类似,但不可改变.

参数

  • value 额外价值
  • arr 初始阵列

回返情况: 新建阵列

但最后一点

从初始创建新数组,不包含最后一个元素.

参数

  • arr 初始阵列

回返情况: 新建阵列

块

将数组分割成指定大小的块.

参数

  • chunkSize 块大小
  • arr 初始阵列

回返情况: 新建块阵列

清除( c)

创建一个新的空数组.

参数

  • arr 初始阵列

回返情况: 新建阵列

弯曲

Array.prototype.concat 的功能包装器

结合了两个阵列. 如果缩合值不是数组,则添加为最后一个元素.

参数

  • value 要调整的数组或单个值
  • arr 初始阵列

回返情况: 新建阵列

条目

Array.prototype.intries 的功能包装器

为数组中的每个条目创建索引、值对.

参数

  • arr 初始阵列

回返情况: 指数值对的可移动性

每个

Array.prototype 的功能包装

确定一个数组的所有成员是否都满足指定的测试.

参数

  • testFn 测试函数
  • arr 初始阵列

回返情况: 如果所有元素都满足测试功能, 则不正确

填满

创建由起始和结束索引识别的段落的新数组 以所提供的数值填充. 对普通案件有内在的方法.

参数

  • startIndex 开始索引( 如果未定义 - 从开始填充)
  • endIndex 结束索引( 如果未定义 - 填入到结尾)
  • value 将填入所选部分的值 .
  • arr 初始阵列

回返情况: 新建阵列

全部填满

从起入入入入入入入入.

参数

  • value 将填入所选部分的值 .
  • arr 初始阵列

回返情况: 新建阵列

填充. 结束

从开始填入指定的索引.

参数

  • endIndex 结束索引
  • value 将填入所选部分的值 .
  • arr 初始阵列

回返情况: 新建阵列

填满 开始

从指定的索引填入到结尾.

参数

  • startIndex 开始索引
  • value 将填入所选部分的值 .
  • arr 初始阵列

回返情况: 新建阵列

过滤器

Array.prototype.filter 的功能包装器

从初始创建新数组, 不包含数值 不符合过滤函数中指定的条件.

参数

  • fn 过滤功能
  • arr 初始阵列

回返情况: 新建阵列

过滤器不为

从初始创建新数组, 不包含数值 符合过滤函数中指定的条件.

当您拥有随时可以使用的过滤功能时,这是有用的, 你想通过作为一个争论, 否则你会有 手动将其包裹在函数中以否定其结果.

参数

  • fn 过滤功能
  • arr 初始数组

回返情况: 新建阵列

寻找

Array.prototype. find 的功能包装器

获取数组中第一个元素的值 在上游是真实的, 和未定义的.

参数

  • testFn 测试函数
  • arr 初始阵列

回返情况: 符合上游或未定义的项目

查找Index 数据

Array.prototype.findIndex 的功能包装器

获取数组中第一个元素的索引 -1,否则.

参数

  • testFn 测试函数
  • arr 初始阵列

回返情况: 匹配元素索引或 - 1

首个

获取数组的第一个元素.

参数

  • arr 初始阵列

回返情况: 第一个要素

平顶

带有自定义深度的 Array. prototype.平面的功能包装

创建一个包含所有子阵列元素的新阵列 相接而入,可递回至所指定的深度.

参数

  • depth 最大重现深度
  • arr 初始阵列

回返情况: 新建阵列

平一号

带有默认深度的版本 (1).

参数

  • arr 初始阵列

回返情况: 新建阵列

平方图

Array.prototype.flatMap 的功能包装器

调用数组每个元素上定义的映射函数. 然后,将结果平整成新的数组. 这与一幅地图相同,后面是平地,深度为一.

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

每个

Array.prototype.forEach 的功能包装器

为数组中的每个元素执行指定的副作用动作.

参数

  • sideEffectFn 边效应函数
  • arr 初始阵列

回返情况: 无( 未定义)

获取

获取特定索引中的元素.

参数

  • index 具体指数

回返情况: 特定索引中的元素

组

创建将数组项目分组的对象 通过分组函数指定字段.

参数

  • groupingFn 分组函数
  • arr 对象初始数组

回返情况: 新建阵列

拥有

确定数组是否有一定索引, 酌情归还真假.

参数

  • index 具体指数
  • arr 初始阵列

回返情况: 如果索引存在, 则不正确

包含

确定一个数组是否包含某个元素, 酌情归还真假.

参数

  • element 搜索元素
  • arr 初始阵列

回返情况: 如果元素存在, 则不正确

索引

Array.prototype.indexOf 的功能包装器

检索数组中第一个值出现的索引.

参数

  • element 在数组中定位的值
  • fromIndex 开始搜索的数组索引
  • arr 初始阵列

回返情况: 匹配元素索引或 - 1

全部指数

版本由Index(0)所隐含.

参数

  • element 在数组中定位的值
  • arr 初始阵列

回返情况: 匹配元素索引或 - 1

插入

创建新数组,并在提供的索引中添加值. 将旧值移到右边. 如果索引超出数组的约束范围 - 作为最后一个元素添加一个值 .

参数

  • value 额外价值
  • index 具体指数
  • arr 初始阵列

回返情况: 新建阵列

加入时

Array.prototype.join 的功能包装器

添加由指定的分隔符字符串分隔的数组的所有元素.

参数

  • separator 分隔符
  • arr 初始阵列

回返情况: 组合数组元素的字符串 .

密钥

Array.prototype.keys 的功能包装器

返回数组中的可移动密钥

参数

  • arr 初始阵列

回返情况: 显示器

最后一个( l)

获取数组的最后一个元素.

参数

  • arr 初始阵列

回返情况: 最后一个元素( 未定义为空数组)

最后一个 索引

Array.prototype.last 的功能包装器 索引

检索数组中指定值最后出现的索引. 从Index开始向后搜索数组.

参数

  • element 在数组中定位的值
  • fromIndex 开始搜索的数组索引
  • arr 初始阵列

回返情况: 匹配元素索引或 - 1

上个 IndexOf. all (简体中文)

版本由Index所隐含(ar.長 - 1).

参数

  • element 在数组中定位的值
  • arr 初始阵列

回返情况: 匹配元素索引或 - 1

地图

Array.prototype.map 的功能包装器

调用一个阵列中每个元素上定义的映射函数, 并返回包含结果的数组.

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

预设( p)

在数组开头添加一个值. 类似于Array.prototype.unshit,但不可改变.

参数

  • value 额外价值
  • arr 初始阵列

回返情况: 新建阵列

范围

在指定范围内创建数组 - 上升或下降.

参数

  • from 起始数(包括)
  • to 期末数(不包括)
  • step 步( 必须大于零) (可选, 默认) 1(中文(简体) )

回返情况: 范围数组

减少

Array.prototype. 减少功能包装器

为数组中的所有元素调用指定的还原函数. 减少函数的返回值是累积结果, ,并在下次调用还原函数时作为参数提供.

参数

  • reducingFn 减少功能
  • initialValue 累积器的初始值
  • arr 初始阵列

回返情况: 最后累积值

减. 第一个

减少不初始化. 阵列的第一个元素将作为初始积分.

参数

  • reducingFn 减少功能
  • arr 初始阵列

回返情况: 最后累积值

减少右边

用于 Array.prototype. reduction Right 的功能包装器

调用一个阵列中所有元素的指定回调函数, 以降为序. 减少函数的返回值是累积结果, ,并在下次调用还原函数时作为参数提供.

参数

  • reducingFn 减少功能
  • initialValue 累积器的初始值
  • arr 初始阵列

回返情况: 最后累积值

减少权利。 第一个

减少不初始化. 数组的最后一个元素将用作初始积分.

参数

  • reducingFn 减少功能
  • arr 初始阵列

回返情况: 最后累积值

删除

在提供的索引中创建一个没有项目的新数组.

参数

  • index 具体指数
  • arr 初始阵列

回返情况: 新建阵列

暂停

创建没有第一个元素的新数组.

参数

  • arr 初始阵列

回返情况: 新建阵列

倒转

创建带有倒转元素的新数组.

参数

  • arr 初始阵列

回返情况: 新建阵列

设定

在提供的索引上创建一个新值的新数组.

如果索引脱离了数组的束缚,则丢出一个错误.

参数

  • value 新价值
  • index 具体指数
  • arr 初始阵列

回返情况: 新建阵列

设置

创建一个被调整/扩展到所提供大小的新阵列. 如果新数组长于初始数组, 其他索引将设置为未定义.

参数

  • size 所需规模
  • arr 初始阵列

回返情况: 新建阵列

大小

获取数组的大小( 长度) .

参数

  • arr 初始阵列

回返情况: 阵列大小( 长)

切开

Array.prototype.slice 的功能包装器

创建一个新的数组,作为初始数组的一个部分.

参数

  • from 数组指定部分的起始 .
  • to 数组指定部分的结束 .
  • arr 初始阵列

回返情况: 新建阵列

切片 从

版本带有隐性末端索引(ar. long).

参数

  • from 数组指定部分的起始 .
  • arr 初始阵列

回返情况: 新建阵列

切开. to

版本带有隐含的起始索引 (0).

参数

  • to 数组指定部分的结束 .
  • arr 初始阵列

回返情况: 新建阵列

有点

Array.prototype 的功能包装

确定指定的测试功能 返回数组中任何元素的正数.

参数

  • testFn 测试函数
  • arr 初始阵列

回返情况: 如果任何元素满足测试功能, 则为真, 否则为假

排序

创建新排序的数组. 有内置的数值和字符串数组排序方法 .

参数

  • compareFn 比较函数
  • arr 初始阵列

回返情况: 新建阵列

排序.num

按上升顺序排序数字数组.

参数

  • arr 初始阵列

回返情况: 新建阵列

类型.numDesc

按下行顺序排序数字数组.

参数

  • arr 初始阵列

回返情况: 新建阵列

排序.str

使用比较运算符将字符串数组按升序排序.

参数

  • arr 初始阵列

回返情况: 新建阵列

类型.strDesc

使用比较运算符按下行顺序排序字符串数组.

参数

  • arr 初始阵列

回返情况: 新建阵列

类型

使用升序排序字符串数组 String.prototype.localeCompare。 。 。 .

参数

  • arr 初始阵列

回返情况: 新建阵列

类型

使用降序排序字符串数组 String.prototype.localeCompare。 。 。 .

参数

  • arr 初始阵列

回返情况: 新建阵列

排序为

创建新排序的数组. 接受映射函数,在比较前先映射值 (映射不影响阵列的实际值). 拥有内置的数值和字母排序方法.

参数

  • compareFn 比较函数
  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

排序为 .num

按上升顺序排序数字数组.

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

排序为 .numDesc

按下行顺序排序数字数组.

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

排序为 .str

使用比较运算符将字符串数组按升序排序.

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

排序为 .strDesc

使用比较运算符按下行顺序排序字符串数组.

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

排序为 . locale

使用升序排序字符串数组 String.prototype.localeCompare。 。 。 .

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

排序为 . localeDesc

使用降序排序字符串数组 String.prototype.localeCompare。 。 。 .

参数

  • mappingFn 绘图函数
  • arr 初始阵列

回返情况: 新建阵列

转到本地结构

用于 Array.prototype.to LocaleString 的功能包装器

创建数组的字符串表达式. 元素被转换成字符串,使用其到LocalString的方法.

参数

  • arr 初始阵列

回返情况: 字符串代表制

倒数

Array.prototype.toString 的功能包装器

创建数组的字符串表达式.

参数

  • arr 初始阵列

回返情况: 字符串代表制

更新

创建新数组,并在提供的索引中设定新值, 通过将旧值映射到新值的更新器函数来计算.

如果索引脱离了数组的束缚,则丢出一个错误.

参数

  • value 新价值
  • index 具体指数
  • arr 初始阵列

回返情况: 新建阵列

数值

Array.prototype.值的功能包装

创建数组中的可移动值.

参数

  • arr 初始阵列

回返情况: 显示器

拉链

将两个阵列组合成一对阵列 包含相应的索引上的值. Zips直到达到更短阵列的长度.

参数

  • otherArr 要用初始数组拉链的矩阵
  • arr 初始阵列

回返情况: 新建已拉链的阵列

全部拉链

Zips直到更长数组的长度被达到.

参数

  • otherArr 要用初始数组拉链的矩阵
  • arr 初始阵列

回返情况: 新建已拉链的阵列

zipWith (帮助)

将两个数组带拉链功能生成新值, 使用相同索引的元素. Zips直到达到更短阵列的长度.

参数

  • zippingFn 跳动函数
  • otherArr 要用初始数组拉链的矩阵
  • arr 初始阵列

回返情况: 新建已拉链的阵列

zipWith .all (全称)

Zips直到更长数组的长度被达到.

参数

  • zippingFn 跳动函数
  • otherArr 要用初始数组拉链的矩阵
  • arr 初始阵列

回返情况: 新建已拉链的阵列

许可证

项目处于开放式、非限制性 ISC 许可证。 。 。 .

版本与发布记录

@arrows/array 共发布 22 个版本,首次发布于 2019/09/17;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.4.1latest2020/12/315 年前
1.4.02020/01/236 年前
1.3.02019/12/096 年前
1.2.12019/11/017 年前
1.2.02019/11/017 年前
1.1.12019/10/317 年前

关于 @arrows/array 的常见问题

@arrows/array 是什么?

JS阵列的功能工具

如何安装 @arrows/array?

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

@arrows/array 支持 TypeScript 吗?

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

@arrows/array 支持 ESM 还是 CommonJS?

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

@arrows/array 可以商用吗?

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

@arrows/array 的下载量有多少?

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

@arrows/array 还在维护吗?

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