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