Collection Methods
every
Checks if predicate returns truthy for all element of collection.
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
predicate | Function | The function invoked per iteration. |
Returns
Type | Description |
---|---|
boolean | Returns true if all elements pass the predicate check, else false. |
Declaration
declare function every<T extends ArrayLike<any>>(
collection: T,
predicate: (value: ArrayLikeValue<T>, index: number, collection: T) => boolean
): boolean;
declare function every<T extends Dictionary<any>>(
collection: T,
predicate: (value: DictionaryValue<T>, key: string, collection: T) => boolean
): boolean;
Examples
const arr = [1, 2, 5];
every(arr, (value) => value < 10); // true
const obj = { a: 1, b: 2 };
every(arr, (_, key) => key !== 'a'); // false
filter
Iterates over elements of collection, returning an array of all elements predicate returns truthy for
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over |
predicate | Function | The function invoked per iteration |
Returns
Type | Description |
---|---|
any[] | Returns the new filterd array |
Declaration
declare function filter<T extends ArrayLike<any>>(
collection: T,
predicate: (value: ArrayLikeValue<T>, index: number, collection: T) => boolean
): ArrayLikeValue<T>[];
declare function filter<T extends Dictionary<any>>(
collection: T,
predicate: (value: DictionaryValue<T>, key: string, collection: T) => boolean
): DictionaryValue<T>[];
Examples
const arr = [1, 2, 3];
filter(arr, (value, index) => index === 1); // [1, 3]
const obj = { a: 1, b: 'str' };
filter(obj, (value, key) => typeof value === 'string'); // ['str']
find
Iterates over elements of collection, returning the first element predicate returns truthy for.
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
predicate | Function | The function invoked per iteration. |
Returns
Type | Description |
---|---|
boolean | Returns the matched element, else undefined . |
Declaration
declare function find<T extends ArrayLike<any>>(
collection: T,
predicate: (value: ArrayLikeValue<T>, index: number, collection: T) => boolean
): ArrayLikeValue<T> | undefined;
declare function find<T extends Dictionary<any>>(
collection: T,
predicate: (value: DictionaryValue<T>, key: string, collection: T) => boolean
): DictionaryValue<T> | undefined;
Examples
const arr = [1, 2, 13];
find(arr, (value) => value > 10); // 13
const obj = { a: 1, b: 2 };
find(arr, (_, key) => key === 'c'); // undefined
forEach
Iterates over elements of collection and invokes iteratee for each element.
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
callback | Function | The function invoked per iteration. |
Declaration
declare function forEach<T extends ArrayLike<any>>(
collection: T,
callback: (value: ArrayLikeValue<T>, index: number, collection: T) => void
): void;
declare function forEach<T extends Dictionary<any>>(
collection: T,
callback: (value: DictionaryValue<T>, key: string, collection: T) => void
): void;
Examples
const arr = [1];
forEach(arr, (value, index) => console.log(value, index)); // 1, 0
const obj = { a: 1 };
forEach(obj, (value, key) => console.log(value, key)); // 1, 'a'
forEachRight
Iterates over elements of collection and invokes iteratee for each element.
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
callback | Function | The function invoked per iteration. |
Declaration
declare function forEachRight<T extends ArrayLike<any>>(
collection: T,
callback: (value: ArrayLikeValue<T>, index: number, collection: T) => void
): void;
declare function forEachRight<T extends Dictionary<any>>(
collection: T,
callback: (value: DictionaryValue<T>, key: string, collection: T) => void
): void;
Examples
const arr = [1];
forEachRight(arr, (value, index) => console.log(value, index)); // 1, 0
const obj = { a: 1 };
forEachRight(obj, (value, key) => console.log(value, key)); // 1, 'a'
groupBy
Iterates over elements of collection and invokes iteratee for each element.
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
callback | Function | The function invoked per iteration. |
Returns
Type | Description |
---|---|
object[]> | Returns new grouped array |
Declaration
declare function groupBy<T extends ArrayLike<any>>(
collection: T,
callback: (value: ArrayLikeValue<T>, index: number, collection: T) => string
): Record<string, ArrayLikeValue<T>[]>;
declare function groupBy<T extends Dictionary<any>>(
collection: T,
callback: (value: DictionaryValue<T>, key: string, collection: T) => string
): Record<string, DictionaryValue<T>[]>;
Examples
const students = [
{ name: 'john', class: 'A', score: 100 },
{ name: 'alice', class: 'B', score: 91 },
{ name: 'smith', class: 'C', score: 65 },
{ name: 'gale', class: 'A', score: 74 },
];
const results = groupBy(students, (value) =>
value.score < 70 ? 'fail' : 'pass'
);
results.fail; // [{ name: 'smith', class: 'C', score: 65 }]
results.pass.length; // 3
map
Iterates over elements of collection and invokes iteratee for each element.
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
callback | Function | The function invoked per iteration. |
Returns
Type | Description |
---|---|
any[] | Returns the new mapped array. |
Declaration
declare function map<T = any, O extends ArrayLike<any> = ArrayLike<any>>(
collection: O,
callback: (value: ArrayLikeValue<O>, index: number, collection: O) => T
): T[];
declare function map<T = any, O extends Dictionary<any> = Dictionary<any>>(
collection: O,
callback: (value: DictionaryValue<O>, key: string, collection: O) => T
): T[];
Examples
const arr = [1, 2, 3];
map(arr, (value, index) => value + index); // [1, 3, 5]
const obj = { a: 1, b: 2, c: 3 };
map(obj, (value, key) => value + key); // ['a1', 'b2', 'c3']
reduce
Executes a user-supplied "reducer" callback function on each element of the array, in order, passing in the return value from the calculation on the preceding element. The final result of running the reducer across all elements of the array is a single value.
The first time that the callback is run there is no "return value of the previous calculation". If supplied, an initial value may be used in its place. Otherwise the collection's first element is used as the initial value
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
reducer | Function | The function invoked per iteration. |
[accumulator] | any | The initial value. |
Returns
Type | Description |
---|---|
any | Returns the accumulated value. |
Declaration
declare function reduce<T extends ArrayLike<any> = ArrayLike<any>>(
collection: T,
reducer: (
accumulator: ArrayLikeValue<T>,
value: ArrayLikeValue<T>,
index: number,
collection: T
) => ArrayLikeValue<T>,
accumulator?: ArrayLikeValue<T>
): ArrayLikeValue<T>;
declare function reduce<T extends ArrayLike<any> = ArrayLike<any>, V = any>(
collection: T,
reducer: (
accumulator: V,
value: ArrayLikeValue<T>,
index: number,
collection: T
) => V,
accumulator: V
): V;
declare function reduce<T extends Dictionary<any> = Dictionary<any>>(
collection: T,
reducer: (
accumulator: DictionaryValue<T>,
value: DictionaryValue<T>,
key: string,
collection: T
) => DictionaryValue<T>,
accumulator?: DictionaryValue<T>
): DictionaryValue<T>;
declare function reduce<T extends Dictionary<any> = Dictionary<any>, V = any>(
collection: T,
reducer: (
accumulator: V,
value: DictionaryValue<T>,
key: string,
collection: T
) => V,
accumulator: V
): V;
Examples
const arr = [1, 2, 3];
reduce(arr, (acc, value) => `${acc}_${value}`, ''); // '_1_2_3'
reduceRight
Executes a user-supplied "reducer" callback function on each element of the array, in order, passing in the return value from the calculation on the preceding element. The final result of running the reducer across all elements of the array is a single value.
The first time that the callback is run there is no "return value of the previous calculation". If supplied, an initial value may be used in its place. Otherwise the collection's last element is used as the initial value
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
reducer | Function | The function invoked per iteration. |
[accumulator] | any | The initial value. |
Returns
Type | Description |
---|---|
any | Returns the accumulated value. |
Declaration
declare function reduceRight<T extends ArrayLike<any> = ArrayLike<any>>(
collection: T,
reducer: (
accumulator: ArrayLikeValue<T>,
value: ArrayLikeValue<T>,
index: number,
collection: T
) => ArrayLikeValue<T>,
accumulator?: ArrayLikeValue<T>
): ArrayLikeValue<T>;
declare function reduceRight<
T extends ArrayLike<any> = ArrayLike<any>,
V = any,
>(
collection: T,
reducer: (
accumulator: V,
value: ArrayLikeValue<T>,
index: number,
collection: T
) => V,
accumulator: V
): V;
declare function reduceRight<T extends Dictionary<any> = Dictionary<any>>(
collection: T,
reducer: (
accumulator: DictionaryValue<T>,
value: DictionaryValue<T>,
key: string,
collection: T
) => DictionaryValue<T>,
accumulator?: DictionaryValue<T>
): DictionaryValue<T>;
declare function reduceRight<
T extends Dictionary<any> = Dictionary<any>,
V = any,
>(
collection: T,
reducer: (
accumulator: V,
value: DictionaryValue<T>,
key: string,
collection: T
) => V,
accumulator: V
): V;
Examples
const arr = [1, 2, 3];
reduceRight(arr, (acc, value) => `${acc}_${value}`, ''); // '_3_2_1'
some
Checks if predicate returns truthy for any element of collection.
Since: 0.1.0
Arguments
Param | Type | Description |
---|---|---|
collection | Collection | The collection to iterate over. |
predicate | Function | The function invoked per iteration. |
Returns
Type | Description |
---|---|
boolean | Returns true if any element passes the predicate check, else false. |
Declaration
declare function some<T extends ArrayLike<any>>(
collection: T,
predicate: (value: ArrayLikeValue<T>, index: number, collection: T) => boolean
): boolean;
declare function some<T extends Dictionary<any>>(
collection: T,
predicate: (value: DictionaryValue<T>, key: string, collection: T) => boolean
): boolean;
Examples
const arr = [1, 2, 13];
some(arr, (value) => value > 10); // true
const obj = { a: 1, b: 2 };
some(arr, (_, key) => key === 'c'); // false