From 95da9c0dd407347017ed959e87e453d3c8ee3145 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Tue, 26 Jan 2016 18:05:32 -0800 Subject: [PATCH] Optimize `_.isEmpty`. [closes #1888] --- lodash.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lodash.js b/lodash.js index c56e9eba9..9c68f3241 100644 --- a/lodash.js +++ b/lodash.js @@ -9550,9 +9550,16 @@ * // => false */ function isEmpty(value) { - return (!isObjectLike(value) || isFunction(value.splice)) - ? !size(value) - : !keys(value).length; + if (isArrayLike(value) && + (isArray(value) || isString(value) || isArguments(value) || isFunction(value.splice))) { + return !value.length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; } /**