An object and array collector
classes
methods
collect(obj)
Collect an object
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | What to collect |
Returns:
- Type
- ACollector | OCollector
add(key, item)
Adds an item to the collection
Parameters:
Name | Type | Description |
---|---|---|
key |
* | The key to use for the item being added. |
item |
* | The item to add to the collection. The item is not iterated so that you could add bundled items to the collection |
add(item)
Adds to the top of the collection
Parameters:
Name | Type | Description |
---|---|---|
item |
* | The item to add to the collection. Only one item at a time can be added |
append(item)
Add to the bottom of the list
Parameters:
Name | Type | Description |
---|---|---|
item |
* | The item to add to the collection. Only one item at a time can be added |
at(args)
Creates an array of elements from the specified indexes, or keys, of the collection. Indexes may be specified as individual arguments or as arrays of indexes
Parameters:
Name | Type | Description |
---|---|---|
args |
indexes | The indexes to use |
compact()
Modifies the collection with all falsey values of array removed. The values false, null, 0, "", undefined and NaN are all falsey.
countBy( [query], iterator [, thisobj])
Creates an object composed of keys returned from running each element of the collection through the given callback. The corresponding value of each key is the number of times the key was returned by the callback.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate. If you pass in a query, only the items that match the query are iterated over. |
iterator |
function | ||
thisobj |
object |
<optional> |
The value of |
Returns:
- Type
- object
destroy()
Destructor called when the object is destroyed.
each( [query], iterator [, thisobj])
Iterate over each item in the collection, or a subset that matches a query. This supports two signatures:
.each(query, function)
and .each(function)
. If you pass in a query, only the items that match the query
are iterated over.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate |
iterator |
function | Function to execute against each item in the collection |
|
thisobj |
object |
<optional> |
The value of |
flatten( [query], iterator, [, thisobj])
Flattens a nested array (the nesting can be to any depth). If isShallow is truthy, array will only be flattened a single level. If callback is passed, each element of array is passed through a callback before flattening.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate . If you pass in a query, only the items that match the query are iterated over. |
iterator, |
function | ||
thisobj |
object |
<optional> |
The value of |
Returns:
- Type
- number
groupBy( [query], iterator [, thisobj])
Creates an object composed of keys returned from running each element of the collection through the callback. The corresponding value of each key is an array of elements passed to callback that returned the key. The callback is invoked with three arguments: (value, index|key, collection).
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate . If you pass in a query, only the items that match the query are iterated over. |
iterator |
function | ||
thisobj |
object |
<optional> |
The value of |
Returns:
- Type
- object
index(key)
Gets an items by its index
Parameters:
Name | Type | Description |
---|---|---|
key |
number | The index to get |
Returns:
- Type
- *
key(key)
Get a record by key
Parameters:
Name | Type | Description |
---|---|---|
key |
* | The key of the record to get |
Returns:
- Type
- *
map( [query], iterator [, thisobj])
Maps the contents to an array by iterating over it and transforming it. You supply the iterator. Supports two signatures:
.map(query, function)
and .map(function)
. If you pass in a query, only the items that match the query
are iterated over.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate |
iterator |
function | Function to execute against each item in the collection |
|
thisobj |
object |
<optional> |
The value of |
max( [query], iterator [, thisobj])
Retrieves the maximum value of an array. If callback is passed, it will be executed for each value in the array to generate the criterion by which the value is ranked.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate . If you pass in a query, only the items that match the query are iterated over. |
iterator |
function | ||
thisobj |
object |
<optional> |
The value of |
Returns:
- Type
- number
min( [query], iterator [, thisobj])
Retrieves the minimum value of an array. If callback is passed, it will be executed for each value in the array to generate the criterion by which the value is ranked.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate . If you pass in a query, only the items that match the query are iterated over. |
iterator |
function | ||
thisobj |
object |
<optional> |
The value of |
Returns:
- Type
- number
pluck( [query], property)
Reduce the collection to a single value. Supports two signatures:
.pluck(query, function)
and .pluck(function)
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
The query to evaluate. If you pass in a query, only the items that match the query are iterated over. |
property |
string | The property that will be 'plucked' from the contents of the collection |
Returns:
- Type
- *
push(item)
Add an item to the top of the list. This is identical to add
, but is provided for stack semantics
Parameters:
Name | Type | Description |
---|---|---|
item |
* | The item to add to the collection. Only one item at a time can be added |
reduce( [query], iterator [, accumulator] [, thisobj])
Reduces a collection to a value which is the accumulated result of running each element in the collection through the callback, where each successive callback execution consumes the return value of the previous execution. If accumulator is not passed, the first element of the collection will be used as the initial accumulator value. are iterated over.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
A query to evaluate |
iterator |
function | The function that will be executed in each item in the collection |
|
accumulator |
* |
<optional> |
Initial value of the accumulator. |
thisobj |
object |
<optional> |
The value of |
Returns:
- Type
- *
sortBy( [query], iterator [, thisobj])
Returns a sorted copy of the collection.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
query |
object |
<optional> |
The query to evaluate. If you pass in a query, only the items that match the query are iterated over. |
iterator |
function | ||
thisobj |
object |
<optional> |
The value of |
Returns:
- Type
- array
toArray()
Returns the collection as an array. If it is already an array, it just returns that.
Returns:
- Type
- array
toJSON()
Supports conversion to a JSON string or for passing over the wire
Returns:
- Type
- object
- Type
- Object | array