diff --git a/lodash.js b/lodash.js index aadced73d..fd2667dac 100644 --- a/lodash.js +++ b/lodash.js @@ -6415,7 +6415,7 @@ * // => undefined */ function head(array) { - return array ? array[0] : undefined; + return (array && array.length) ? array[0] : undefined; } /** diff --git a/test/test.js b/test/test.js index 4a1866d19..a3f58b219 100644 --- a/test/test.js +++ b/test/test.js @@ -7386,10 +7386,9 @@ QUnit.test('should return `undefined` when querying empty arrays', function(assert) { assert.expect(1); - var array = []; - array['-1'] = 1; - - assert.strictEqual(_.head(array), undefined); + arrayProto[0] = 1; + assert.strictEqual(_.head([]), undefined); + arrayProto.length = 0; }); QUnit.test('should work as an iteratee for methods like `_.map`', function(assert) {