From 6d03e0bd4ebe5ac2f0d7f2bac88a3c8d262ccaf7 Mon Sep 17 00:00:00 2001 From: mzabriskie Date: Tue, 10 Mar 2015 14:28:43 -0600 Subject: [PATCH] Fixing issues with strict mode closes #45 --- lib/utils.js | 8 ++++---- test/unit/utils/forEach.js | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/utils.js b/lib/utils.js index 6bd0338..9f1b32e 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -145,15 +145,15 @@ function forEach(obj, fn) { } // Check if obj is array-like - var isArray = obj.constructor === Array || typeof obj.callee === 'function'; + var isArrayLike = isArray(obj) || (typeof obj === 'object' && !isNaN(obj.length)); // Force an array if not already something iterable - if (typeof obj !== 'object' && !isArray) { + if (typeof obj !== 'object' && !isArrayLike) { obj = [obj]; } // Iterate over array values - if (isArray) { + if (isArrayLike) { for (var i=0, l=obj.length; i