array

Source: index.js:6

数组处理工具函数


Static Methods

chunk(array: Array, size?: number): Array.<Array>

将数组按指定大小切分为多个子数组,不修改原数组。

Parameters

  • array (Array) — 要切分的数组
  • size (number, optional, default: 1) — 每个子数组的最大长度

Returns

  • Array.<Array> — 切分后的二维数组

Throws

  • TypeError | RangeError — 参数类型或 size 不合法时抛出

compact(array: Array): Array

移除数组中的所有假值并返回新数组。

Parameters

  • array (Array) — 要处理的数组

Returns

  • Array — 不含假值的新数组

Throws

  • TypeError — 参数不是数组时抛出

diffArr(a: Array, b: Array): Array

返回两个数组之间的差集

Parameters

  • a (Array) — 基准数组
  • b (Array) — 用于排除值的数组

Returns

  • Array — 差集数组,不修改输入

Throws

  • TypeError — 参数不是数组时抛出

Example

CODE
diffArr([1, 2, 3], [2]) // [1, 3]

difference(array: Array, ...others: Array): Array

返回首个数组中未出现在其余数组里的唯一值。

Parameters

  • array (Array) — 基准数组
  • others (Array) — 用于排除值的数组

Returns

  • Array — 差集数组

Throws

  • TypeError — 任一参数不是数组时抛出

drop(array: Array, count?: number): Array

从数组左侧移除指定数量的元素。

Parameters

  • array (Array) — 原数组
  • count (number, optional, default: 1) — 移除数量,小于等于零时不移除

Returns

  • Array — 新数组

Throws

  • TypeError — 参数类型不正确时抛出

dropRight(array: Array, count?: number): Array

从数组右侧移除指定数量的元素。

Parameters

  • array (Array) — 原数组
  • count (number, optional, default: 1) — 移除数量,小于等于零时不移除

Returns

  • Array — 新数组

Throws

  • TypeError — 参数类型不正确时抛出

flatten(array: Array): Array

将数组展开一层。

Parameters

  • array (Array) — 嵌套数组

Returns

  • Array — 展开后的新数组

Throws

  • TypeError — 参数不是数组时抛出

flattenDeep(array: Array): Array

递归展开所有层级的嵌套数组。

Parameters

  • array (Array) — 嵌套数组

Returns

  • Array — 完全展开后的新数组

Throws

  • TypeError — 参数不是数组时抛出

fromPairs(pairs: Array.<Array>): Object

将键值对数组转换为对象。

Parameters

  • pairs (Array.<Array>) — 形如 [key, value] 的键值对数组

Returns

  • Object — 新对象;重复键以后出现的值为准

Throws

  • TypeError — 参数不是合法键值对数组时抛出
static
head.js:9

返回数组的第一个元素。

Parameters

  • array (Array) — 要读取的数组

Returns

  • * — 第一个元素;空数组返回 undefined

Throws

  • TypeError — 参数不是数组时抛出

intersectArr(a: Array, b: Array): Array

返回两个数组之间的交集

Parameters

  • a (Array) — 基准数组
  • b (Array) — 用于比较的数组

Returns

  • Array — 去重后的交集数组

Throws

  • TypeError — 参数不是数组时抛出

intersection(array: Array, ...others: Array): Array

返回所有数组共有的唯一值。

Parameters

  • array (Array) — 基准数组
  • others (Array) — 参与比较的其他数组

Returns

  • Array — 交集数组

Throws

  • TypeError — 任一参数不是数组时抛出

last(array: Array): *

static
last.js:9

返回数组的最后一个元素。

Parameters

  • array (Array) — 要读取的数组

Returns

  • * — 最后一个元素;空数组返回 undefined

Throws

  • TypeError — 参数不是数组时抛出

tail(array: Array): Array

static
tail.js:9

返回除第一个元素外的数组部分。

Parameters

  • array (Array) — 原数组

Returns

  • Array — 新数组

Throws

  • TypeError — 参数不是数组时抛出

take(array: Array, count?: number): Array

从数组左侧获取指定数量的元素。

Parameters

  • array (Array) — 原数组
  • count (number, optional, default: 1) — 获取数量

Returns

  • Array — 新数组

Throws

  • TypeError — 参数类型不正确时抛出

takeRight(array: Array, count?: number): Array

从数组右侧获取指定数量的元素。

Parameters

  • array (Array) — 原数组
  • count (number, optional, default: 1) — 获取数量

Returns

  • Array — 新数组

Throws

  • TypeError — 参数类型不正确时抛出

unionArr(...args: Array): Array

返回数组之间的并集

Parameters

  • args (Array) — 可以是多个数组

Returns

  • Array — 去重后的并集数组

Throws

  • TypeError — 任一参数不是数组时抛出

uniqueArr(arr: Array): Array

数组去重

Parameters

  • arr (Array) — 要去重的数组

Returns

  • Array — 去重后的新数组,不修改原数组

Throws

  • TypeError — 参数不是数组时抛出

zip(...arrays: Array): Array.<Array>

static
zip.js:9

按索引组合多个数组,缺失位置填充 undefined。

Parameters

  • arrays (Array) — 要组合的数组

Returns

  • Array.<Array> — 按索引组合后的二维数组

Throws

  • TypeError — 任一参数不是数组时抛出