Global

Methods

all(arr, fn) → {boolean}

Source:
Since:
  • 0.0.1

判断数组中的所有元素是否可以通过测试函数.

Example
all([4,2,3], x=>x>1); // true

all([1,2,3]); // true
Parameters:
Name Type Description
arr array

被迭代的数组。

fn function

用于测试每个元素的函数。

Returns:

如果提供的函数对数组中的所有元素返回true,则返回true,否则返回false.

Type
boolean

allEqual(arr) → {boolean}

Source:
Since:
  • 0.0.1

判断数组中的所有元素是否相等。

Example
allEqual([1,2,3,4,5,6]); // false

allEqual([1,1,1,1]); // true
Parameters:
Name Type Description
arr array

被迭代的数组。

Returns:

所有元素相等,返回true;否则返回false.

Type
boolean

any(arr, fn) → {boolean}

Source:
Since:
  • 0.0.1

判断数组中是否至少有一个元素通过测试函数。

Example
any([0,1,2,0], x=>x>=2); // true

any([0,0,1,0]); //  true
Parameters:
Name Type Description
arr array

被迭代的数组。

fn function

测试函数。

Returns:

如果有至少一个元素通过则返回true,否则返回false.

Type
boolean

arrayToCSV(arr, delimiter) → {string}

Source:
Since:
  • 0.0.1

将2D数组转换为逗号分隔值(CSV)字符串。

Example
arrayToCSV([['a','b'], ['c','d']]); // '"a","b"\n"c","d"'

arrayToCSV([['a','b'], ['c','d']], ';'); // '"a";"b"\n"c";"d"'

arrayToCSV([['a','"b" great'], ['c',3.1415]]); // '"a","""b"" great"\n"c",3.1415' *
Parameters:
Name Type Default Description
arr array

将被转换的数组。

delimiter string ,

分隔符,默认为逗号“,”。

Returns:
Type
string

bifurcate(arr, filter) → {array}

Source:
Since:
  • 0.0.1

根据过滤条件将数组分离为两过分。 条件为真的元素属于第一部分,剩下的属于第二部分。

Example
bifurcate(['beep','boop','foo','bar'], [true,true,false,true]); // [['beep','boop','bar'], ['foo']]
Parameters:
Name Type Description
arr array

被判断的数组。

filter function

过滤函数。

Returns:

一个新数组,第一部分是满足过滤函数的,第二部分是不满足的。

Type
array

bifurcateBy(arr, fn) → {array}

Source:
Since:
  • 0.0.1

根据指定函数对数组进行过滤,符合条件的属于第一部分,否则属于第二部分。

Example
bifurcate(['beep','boop','foo','bar'], x=>x[0]==='b'); // [['beep','boop','bar'], ['foo']]
Parameters:
Name Type Description
arr array

被判断的数组。

fn function

指定的函数。

Returns:

一个新数组,第一部分是满足过滤函数的,第二部分是不满足的。

Type
array

chunk(arr, size) → {array}

Source:
Since:
  • 0.0.1

将数组分成指定大小的较小数组。

Example
chunk([1,2,3,4,5], 2); // [[1,2],[3,4],[5]]
Parameters:
Name Type Description
arr array

要分割的数组。

size number

指定块的大小。

Returns:

一个指定大小的新数组。

Type
array

classof(o) → {string}

Source:
Since:
  • 0.0.1

判断一个对象的类型。

Example
classof(['123']); // 'array'

classof(null); // 'object'
Parameters:
Name Type Description
o object

要判断的对象。

Returns:

小写的对象的类型。

Type
string

compact(arr) → {array}

Source:
Since:
  • 0.0.1

从数组中删除假值。

Example
compact([0, 1, false, 2, '', 3, 'a', 'e'*23, NaN, 's', 34]); // [1,2,3,'a','s',34]
Parameters:
Name Type Description
arr array

要判断的数组。

Returns:

移除假值后的新数组。

Type
array

countBy(arr, fn) → {object}

Source:
Since:
  • 0.0.1

根据给定的函数对数组元素进行分组,并返回每组元素的计数。

Example
countBy([6.1,4.2,6.3], Math.floor); // {4:1, 6:2}

countBy(['one','two','three'], 'length'); // {3:2, 5:1}
Parameters:
Name Type Description
arr array

要分组的数组。

fn function

条件函数。

Returns:

条件函数计数对象。

Type
object

countOccurrences(arr, val) → {number}

Source:
Since:
  • 0.0.1

计算数组中某个值的出现次数。

Example
countOccurrences([1,1,2,1,2,3], 1); // 3
Parameters:
Name Type Description
arr array

发判断的数组。

val number

判断的值。

Returns:

该值在数组中出现的次数。

Type
number

deepFlatten(arr) → {array}

Source:
Since:
  • 0.0.1

深度扁平化一个数组。

Example
deepFlatten([1, [2], [[3], 4], 5]); // [1,2,3,4,5]
Parameters:
Name Type Description
arr array

要扁平化的数组。

Returns:

扁平化后的新数组。

Type
array

difference(a, b) → {array}

Source:
Since:
  • 0.0.1

返回两个数组的差集。

Example
difference([1, 2, 3], [1, 2, 4]); // [3]
Parameters:
Name Type Description
a array

第一个数组。

b array

第二个数组。

Returns:

第一个数组与第二个数组的差集。

Type
array

differenceBy(a, b, fn) → {array}

Source:
Since:
  • 0.0.1

返回使用过滤函数之后的两个数组的差异。

Example
differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [1]

differenceBy([{x:2}, {x:1}], [{x:1}], v=>v.x); // [2]
Parameters:
Name Type Description
a array

数组a。

b array

数组b。

fn function

过滤函数。

Returns:

先过滤函数再用数组a减去数组b。

Type
array

differenceWith(arr, val, comp) → {array}

Source:
Since:
  • 0.0.1

过滤掉比较器函数未返回true的数组中的所有值。

Example
differenceWith([1, 1.2, 1.5, 3, 0], [1.9, 3, 0], (a, b) => Math.round(a) === Math.round(b)); // [1, 1.2]
Parameters:
Name Type Description
arr array

数组。

val array

值。

comp function

比较函数。

Returns:

一个新数组。

Type
array

drop(arr, n) → {array}

Source:
Since:
  • 0.0.1

返回从左侧删除n个元素的新数组。

Example
drop([1, 2, 3]); // [2,3]

drop([1, 2, 3], 2); // [3]

drop([1, 2, 3], 42); // []
Parameters:
Name Type Default Description
arr array

原数组。

n number 1

开始的索引位置。

Returns:

从指定索引开始的新数组。

Type
array

dropRight(arr, n) → {array}

Source:
Since:
  • 0.0.1

返回从右侧删除n个元素的新数组。

Example
dropRight([1, 2, 3]); // [1,2]

dropRight([1, 2, 3], 2); // [1]

dropRight([1, 2, 3], 42); // []
Parameters:
Name Type Default Description
arr array

原数组。

n number 1

开始的索引。

Returns:

一个到右侧索引的新数组。

Type
array

dropRightWhile(arr, func) → {array}

Source:
Since:
  • 0.0.1

从数组末尾移除元素,直到传递的函数返回true。返回数组中的其余元素。

Example
dropRightWhile([1, 2, 3, 4], n=> n<3); // [1,2]
Parameters:
Name Type Description
arr array

原数组。

func function

条件函数。

Returns:

过滤后的新数组。

Type
array

dropWhile(arr, func) → {array}

Source:
Since:
  • 0.0.1

删除数组中的元素,直到传递的函数返回true。返回数组中的其余元素。

Example
dropWhile([1, 2, 3, 4], n=> n >= 3); // [3,4]
Parameters:
Name Type Description
arr array

要删除的原数组。

func function

条件函数。

Returns:

返回一个新数组。

Type
array

everyNth(arr, nth) → {array}

Source:
Since:
  • 0.0.1

返回数组中的每个第n个元素

Example
everyNth([1, 2, 3, 4, 5, 6], 2); // [2,4,6]
Parameters:
Name Type Description
arr array

数组。

nth number

第n个元素。

Returns:

一个过滤后的新数组。

Type
array

filterFalsy(arr) → {array}

Source:
Since:
  • 0.0.1

过滤掉数组中的假值。

Example
filterFalsy(['', true, {}, false, 'sample', 1, 0]); // [true,{},'sample',1];
Parameters:
Name Type Description
arr array

数组。

Returns:

一个过滤后的新数组。

Type
array

filterNonUnique(arr) → {array}

Source:
Since:
  • 0.0.1

过滤掉数组中的非唯一值。

Example
filterNonUnique([1, 2, 2, 3, 4, 4, 5]); // [1,3,5]
Parameters:
Name Type Description
arr array

数组。

Returns:

一个过滤后的新数组。

Type
array

filterNonUniqueBy(arr, fn) → {array}

Source:
Since:
  • 0.0.1

根据提供的比较器函数筛选出数组中的非唯一值。

Example
filterNonUniqueBy(
   [
     {id: 0, value: 'a'},
     {id: 1, value: 'b'},
     {id: 2, value: 'c'},
     {id: 1, value: 'd'},
     {id: 0, value: 'e'}
   ],
   (a, b)=>a.id==b.id
); // [{id:2,value:'c'}]
Parameters:
Name Type Description
arr array

数组。

fn function

函数。

Returns:

一个过滤后的新数组。

Type
array

findLast(arr, fn) → {number}

Source:
Since:
  • 0.0.1

返回所提供函数返回Truthy值的最后一个元素。

Example
findLast([1, 2, 3, 4], n=> n%2 ===1); // 3
Parameters:
Name Type Description
arr array

数组。

fn function

函数。

Returns:

过滤后的值。

Type
number

findLastIndex(arr, fn) → {number}

Source:
Since:
  • 0.0.1

返回最后一个元素的索引,为此提供的函数返回一个Truthy值。

Example
findLastIndex([1, 2, 3, 4], n => n % 2 === 1); // 2 (index of the value 3)
Parameters:
Name Type Description
arr array

数组。

fn function

函数。

Returns:

过滤后的新值的原索引。

Type
number

flatten(arr, depth) → {array}

Source:
Since:
  • 0.0.1

将数组展平到指定深度。

Example
flatten([1, [2], 3, 4]); // [1, 2, 3, 4]

flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]
Parameters:
Name Type Default Description
arr array

数组。

depth number 1

指定深度,默认为1。

Returns:

扁平指定深度后新数组。

Type
array

forEachRight(arr, callback) → {void}

Source:
Since:
  • 0.0.1

从数组的最后一个元素开始,为每个数组元素执行一次提供的函数。

Example
forEachRight([1, 2, 3, 4], val => console.log(val)); // '4', '3', '2', '1'
Parameters:
Name Type Description
arr array

数组。

callback function

回调函数。

Returns:

回调函数执行的结果。

Type
void

groupBy(arr, fn) → {object}

Source:
Since:
  • 0.0.1

根据给定的函数对数组元素进行分组。

Example
groupBy([6.1, 4.2, 6.3], Math.floor); // {4: [4.2], 6: [6.1, 6.3]}

groupBy(['one', 'two', 'three'], 'length'); // {3: ['one', 'two'], 5: ['three']}
Parameters:
Name Type Description
arr array

数组。

fn function

函数。

Returns:

新对象。

Type
object
Source:
Since:
  • 0.0.1

返回数组第一个元素。

Example
head([1, 2, 7]); // 1
Parameters:
Name Type Description
arr array

数组。

Returns:

首位元素。

Type
object

indexOfAll(arr, val) → {array}

Source:
Since:
  • 0.0.1

返回数组中val的所有索引。如果val不存在,则返回[]。

Example
indexOfAll([1, 2, 3, 1, 2, 3], 1); // [0,3]

indexOfAll([1, 2, 3], 4); // []
Parameters:
Name Type Description
arr array

数组。

val object

指定的对象。

Returns:

所有索引组成的数组。

Type
array

initial(arr) → {array}

Source:
Since:
  • 0.0.1

返回除最后一个数组之外的数组的所有元素。

Example
initial([1, 2, 3]); // [1,2]
Parameters:
Name Type Description
arr array

数组。

Returns:

新数组。

Type
array

initialize2DArray(w, h, val) → {array}

Source:
Since:
  • 0.0.1

初始化给定宽度、高度和值的二维数组。

Example
initialize2DArray(2, 2, 0); // [[0,0], [0,0]]
Parameters:
Name Type Default Description
w number

宽。

h number

高。

val object null

初始值。

Returns:

二维数组。

Type
array

initializeArrayWithRange(end, start, step) → {array}

Source:
Since:
  • 0.0.1

初始化一个数组,其中包含指定范围内的数字,其中start和end包含其公共差异步骤。

Example
initializeArrayWithRange(5); // [0,1,2,3,4,5]

initializeArrayWithRange(7, 3); // [3,4,5,6,7]

initializeArrayWithRange(9, 0, 2); // [0,2,4,6,8]
Parameters:
Name Type Default Description
end number

结束。

start number 0

开始。

step number 1

步长。

Returns:

数组。

Type
array

initializeArrayWithRangeRight(end, start, step) → {array}

Source:
Since:
  • 0.0.1

初始化一个数组,其中包含指定范围内的数字(反向),其中start和end包含其公共差异步骤。

Example
initializeArrayWithRangeRight(5); // [5,4,3,2,1,0]

initializeArrayWithRangeRight(7, 3); // [7,6,5,4,3]

initializeArrayWithRangeRight(9, 0, 2); // [8,6,4,2,0]
Parameters:
Name Type Default Description
end number

结束。

start number 0

开始。

step number 1

步长。

Returns:

数组。

Type
array

initializeArrayWithValues(n, val) → {array}

Source:
Since:
  • 0.0.1

使用指定的值初始化并填充数组。

Example
initializeArrayWithValues(5, 2); // [2, 2, 2, 2, 2]
Parameters:
Name Type Default Description
n number

长度。

val object 0

初始值。

Returns:

数组。

Type
array

initializeNDArray(val, …args) → {array}

Source:
Since:
  • 0.0.1

使用指定的值初始化一个N维数组。

Example
initializeNDArray(1, 3); // [1,1,1]

initializeNDArray(5, 2, 2, 2); // [[[5,5],[5,5]],[[5,5],[5,5]]]
Parameters:
Name Type Attributes Description
val object

初始值。

args object <repeatable>

剩余参数。

Returns:

数组。

Type
array