Coerce to integer and set default value for chunk size parameter (#4413)

* Enable chunk module tests

* Coerce to integer and set default value for chunk size param
This commit is contained in:
Luiz Américo
2019-08-17 13:53:11 -03:00
committed by John-David Dalton
parent 37cd5dc97a
commit 5b4dc54465
2 changed files with 3 additions and 7 deletions

View File

@@ -1,4 +1,5 @@
import slice from './slice.js'
import toInteger from './toInteger.js'
/**
* Creates an array of elements split into groups the length of `size`.
@@ -18,8 +19,8 @@ import slice from './slice.js'
* chunk(['a', 'b', 'c', 'd'], 3)
* // => [['a', 'b', 'c'], ['d']]
*/
function chunk(array, size) {
size = Math.max(size, 0)
function chunk(array, size = 1) {
size = Math.max(toInteger(size), 0)
const length = array == null ? 0 : array.length
if (!length || size < 1) {
return []

View File

@@ -42,9 +42,4 @@ describe('chunk', function() {
it('should coerce `size` to an integer', function() {
assert.deepStrictEqual(chunk(array, array.length / 4), [[0], [1], [2], [3], [4], [5]]);
});
it('should work as an iteratee for methods like `_.map`', function() {
var actual = lodashStable.map([[1, 2], [3, 4]], chunk);
assert.deepStrictEqual(actual, [[[1], [2]], [[3], [4]]]);
});
});