diff --git a/lodash.js b/lodash.js index 5f320945c..c149ccbbf 100644 --- a/lodash.js +++ b/lodash.js @@ -2584,7 +2584,7 @@ if (isArray(srcValue) || isTypedArray(srcValue)) { newValue = isArray(oldValue) ? oldValue - : ((isObject(oldValue) && isArrayLike(oldValue)) ? copyArray(oldValue) : []); + : ((isObject(oldValue) && isArrayLike(oldValue)) ? copyArray(oldValue) : srcValue); } else if (isPlainObject(srcValue) || isArguments(srcValue)) { newValue = isArguments(oldValue) diff --git a/test/test.js b/test/test.js index a3c78eb4b..e6292e886 100644 --- a/test/test.js +++ b/test/test.js @@ -12237,7 +12237,7 @@ function Foo() {} - var values = [new Foo, new Boolean, new Date, Foo, new Number, new String, new RegExp], + var values = [new Foo, new Boolean, new Date, Foo, new Number, new String, new RegExp, new (Uint8Array || noop)], expected = _.map(values, _.constant(true)); var actual = _.map(values, function(value) {