Bump to v4.4.0.

This commit is contained in:
John-David Dalton
2016-02-15 20:25:07 -08:00
parent 8bff780a94
commit 94ba2e24e8
110 changed files with 450 additions and 263 deletions

View File

@@ -8,12 +8,12 @@ import isArrayLikeObject from './isArrayLikeObject';
*
* @private
* @param {Array} array The array to flatten.
* @param {boolean} [isDeep] Specify a deep flatten.
* @param {number} depth The maximum recursion depth.
* @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
* @param {Array} [result=[]] The initial result value.
* @returns {Array} Returns the new flattened array.
*/
function baseFlatten(array, isDeep, isStrict, result) {
function baseFlatten(array, depth, isStrict, result) {
result || (result = []);
var index = -1,
@@ -21,11 +21,11 @@ function baseFlatten(array, isDeep, isStrict, result) {
while (++index < length) {
var value = array[index];
if (isArrayLikeObject(value) &&
if (depth > 0 && isArrayLikeObject(value) &&
(isStrict || isArray(value) || isArguments(value))) {
if (isDeep) {
if (depth > 1) {
// Recursively flatten arrays (susceptible to call stack limits).
baseFlatten(value, isDeep, isStrict, result);
baseFlatten(value, depth - 1, isStrict, result);
} else {
arrayPush(result, value);
}