Chunks
API
Collections
Every iterator
returns the value first, then the key and lastly the object itself. The only exception to this rule is Chunks.reduce
which returns the previous value first and then follows the same convention as the others.
Chunks.forEach / Chunks.each
Chunks.forEach(obj, iterator[, scope]);
Executes the iterator
on every item in the obj
. The scope
is the value of this
.
Examples
var results = [];
Chunks.forEach([1, 2, 3], function(v) {
results.unshift(v);
});
// [3, 2, 1]
var results = [];
Chunks.forEach({one: 1, two: 2, three: 3}, function(v, k) {
results.unshift(k);
});
// ['three', 'two', 'one']
Chunks.map
Chunks.map(obj, iterator[, scope]);
Returns a new and transformed array by executing the iterator
on every item in the obj
. The scope
is the value of this
.
Examples
Chunks.map([1, 2, 3], function(v) {
return v + 1;
});
// [2, 3, 4]
Chunks.map({one: 1, two: 2, three: 3}, function(v, k) {
return k + '!';
});
// ['one!', 'two!', 'three!']
Chunks.filter
Chunks.filter(obj, iterator[, scope]);
Returns a new and transformed array by executing the iterator
on every item in the obj
. Only the items that evalute to true
in the iterator
will be added to the array. The scope is the value of this
.
Examples
Chunks.filter([1, 2, 3], function(v) {
return v % 2;
});
// [1, 3]
Chunks.filter({one: 1, two: 2, three: 3}, function(v, k) {
return (k.charAt(0) === 't');
});
// [2, 3]
Chunks.reduce
Chunks.reduce(obj, iterator, memo[, scope]);
Returns a single value by executing the iterator
on every item in the obj
and passing the previous value, memo
, to the iterator
. The scope is the value of this
.
Examples
Chunks.reduce([1, 2, 3], function(m, v) {
return m + v;
}, 0);
// 6
Chunks.reduce({one: 1, two: 2, three: 3}, function(m, v) {
return m + v;
}, '');
// '123'
Chunks.some
Chunks.some(obj, iterator[, scope]);
Returns either true
or false
by executing the iterator
on every item in the obj
. It'll return true
if one of the items in the obj
matches the iterator
. The scope is the value of this
.
Examples
Chunks.some([1, 2, 3], function(v) {
return v === 3;
});
// true
Chunks.some({one: 1, two: 2, three: 3}, function(v, k) {
return k === 'two';
});
// true
Chunks.every
Chunks.every(obj, iterator[, scope]);
Returns either true
or false
by executing the iterator
on every item in the obj
. It'll return true
if all of the items in the obj
matches the iterator
. The scope is the value of this
.
Examples
Chunks.every([1, 2, 3], function(v) {
return v > 2;
});
// false
Chunks.every({one: 1, two: 2, three: 3}, function(v, k) {
return (k.charAt(0) === 't');
});
// false
Chunks.index
Chunks.index(obj, item);
Returns the index of the item
in the obj
. It returns the index of the item, or -1
if nothing is found.
It delegates to indexOf
whenever it can, albeit without the option of choosing the start index (hence the different name).
Examples
Chunks.index([1, 2, 3], 2);
// 1
Chunks.index({one: 1, two: 2, three: 3}, 2);
// 'two'
Chunks.contains
Chunks.contains(obj, item);
Determines if the obj
contains the item
. It returns either true
or false
.
Examples
Chunks.contains([1, 2, 3], 2);
// true
Chunks.contains({one: 1, two: 2, three: 3}, 2);
// true
Chunks.size
Chunks.size(obj);
Returns the size of the obj
.
Examples
Chunks.size(['a', 'b', 'c']);
// 3
Chunks.size({one: 1, two: 2, three: 3});
// 3
Chunks.clone
Chunks.clone(obj);
Returns a clone of the obj
.
Examples
Chunks.clone([1, 2, 3]);
// [1, 2, 3]
Chunks.clone({one: 1, two: 2, three: 3});
// {one: 1, two: 2, three: 3}
Chunks.sort
Chunks.sort(obj[, comp]);
Returns a new array with the values from the obj
sorted, either by lexicographical order or the comp
function.
Examples
Chunks.sort(['a', 'd', 'b', 'e', 'c', 'f']);
// ['a', 'b', 'c', 'd', 'e', 'f']
Chunks.sort([1, 10, 2, 20, 3, 30], function(a, b) {
return a - b;
});
// [1, 2, 3, 10, 20, 30]
Chunks.sort({one: 'a', four: 'd', two: 'b', five: 'e', three: 'c', six: 'f'});
// ['a', 'b', 'c', 'd', 'e', 'f']
Chunks.sort({one: 1, ten: 10, two: 2, twenty: 20, three: 3, thirty: 30}, function(a, b) {
return a - b;
});
Types
Chunks.isArray
Chunks.isArray(obj);
Determines if the obj
is an array. It returns either true
or false
.
Examples
Chunks.isArray([1, 2, 3]);
// true
Chunks.isArray({one: 1, two: 2, three: 3});
// false
Chunks.isObject
Chunks.isArray(obj);
Determines if the obj
is an object. It returns either true
or false
.
Examples
Chunks.isObject({one: 1, two: 2, three: 3});
// true
Chunks.isObject([1, 2, 3]);
// false
Arrays
Chunks.first
Chunks.first(arr);
Returns the first item in the arr
.
Example
Chunks.first([1, 2, 3]);
// 1
Chunks.last
Chunks.last(arr);
Returns the last item in the arr
.
Example
Chunks.last([1, 2, 3]);
// 3
Chunks.flatten
Chunks.flatten(arr[, base]);
Returns a new and transformed array by flattening the nested arrays in the arr
. If the base
is provided it'll get used starting point for the new array.
Examples
Chunks.flatten([[1, 2, 3], [4, 5, 6]]);
// [1, 2, 3, 4, 5, 6]
Chunks.flatten([[2, 3, 4], [5, 6, 7]], [1]);
// [1, 2, 3, 4, 5, 6, 7]
Objects
Chunks.keys
Chunks.keys(obj);
Returns a new array with keys from the obj
.
Example
Chunks.keys({one: 1, two: 2, three: 3});
// ['one', 'two', 'three']
Chunks.values
Chunks.values(obj);
Returns a new array with values from the obj
.
Example
Chunks.values({one: 1, two: 2, three: 3});
// [1, 2, 3]
Chunks.has
Chunks.has(obj, key);
Determine if the obj
has the key
. It returns either true
or false
.
Example
Chunks.has({one: 1, two: 2, three: 3}, 'two');
// true
Chunks.extend
Chunks.extend(obj, src);
Merge the properties in the obj
together with the properties in the src
.
Example
Chunks.extend({one: 1, two: 3}, {two: 2, three: 3});
// {one: 1, two: 2, three: 3}