mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-10 10:57:49 +00:00
Move _.chunk to the Arrays category and make it use a default chunkSize of 1.
This commit is contained in:
60
lodash.js
60
lodash.js
@@ -2648,6 +2648,37 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an array of elements split into groups the length of `chunkSize`.
|
||||||
|
* If `collection` can't be split evenly, the final chunk will be the remaining
|
||||||
|
* elements.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Arrays
|
||||||
|
* @param {Array} array The array to process.
|
||||||
|
* @param {numer} [chunkSize=1] The size of each chunk.
|
||||||
|
* @returns {Array} Returns the new array containing chunks.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.chunk(['a', 'b', 'c', 'd'], 2);
|
||||||
|
* // => [['a', 'b'], ['c', 'd']]
|
||||||
|
*
|
||||||
|
* _.chunk(['a', 'b', 'c', 'd'], 3);
|
||||||
|
* // => [['a', 'b', 'c'], ['d']]
|
||||||
|
*/
|
||||||
|
function chunk(array, chunkSize) {
|
||||||
|
var index = 0,
|
||||||
|
length = array ? array.length : 0,
|
||||||
|
result = [];
|
||||||
|
|
||||||
|
chunkSize = nativeMax(+chunkSize || 1, 1);
|
||||||
|
while (index < length) {
|
||||||
|
result.push(slice(array, index, (index += chunkSize)));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array with all falsey values removed. The values `false`, `null`,
|
* Creates an array with all falsey values removed. The values `false`, `null`,
|
||||||
* `0`, `""`, `undefined`, and `NaN` are all falsey.
|
* `0`, `""`, `undefined`, and `NaN` are all falsey.
|
||||||
@@ -3998,35 +4029,6 @@
|
|||||||
return baseAt(collection, baseFlatten(arguments, true, false, 1));
|
return baseAt(collection, baseFlatten(arguments, true, false, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an array of elements split into groups the length of `chunkSize`.
|
|
||||||
* If `collection` cannot be split evenly, the final chunk will be the remaining elements.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
* @memberOf _
|
|
||||||
* @category Collections
|
|
||||||
* @param {Array|Object|string} collection The collection to iterate over.
|
|
||||||
* @param {numer} chunkSize The size of each chunk.
|
|
||||||
* @returns {Array} Returns the new array containing chunks.
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* _.chunk(['a', 'b', 'c', 'd'], 2);
|
|
||||||
* // => [['a', 'b'], ['c', 'd']]
|
|
||||||
*
|
|
||||||
* _.chunk(['a', 'b', 'c', 'd'], 3);
|
|
||||||
* // => [['a', 'b', 'c'], ['d']]
|
|
||||||
*/
|
|
||||||
function chunk(collection, chunkSize) {
|
|
||||||
var index = 0,
|
|
||||||
length = collection ? collection.length : 0,
|
|
||||||
result = [];
|
|
||||||
|
|
||||||
while (index < length) {
|
|
||||||
result.push(slice(collection, index, (index += chunkSize)));
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is present in `collection` using strict equality for
|
* Checks if `value` is present in `collection` using strict equality for
|
||||||
* comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
|
* comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
|
||||||
|
|||||||
Reference in New Issue
Block a user