1var isFunction = require('./isFunction'), 2 isLength = require('./isLength'); 3 4/** 5 * Checks if `value` is array-like. A value is considered array-like if it's 6 * not a function and has a `value.length` that's an integer greater than or 7 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. 8 * 9 * @static 10 * @memberOf _ 11 * @since 4.0.0 12 * @category Lang 13 * @param {*} value The value to check. 14 * @returns {boolean} Returns `true` if `value` is array-like, else `false`. 15 * @example 16 * 17 * _.isArrayLike([1, 2, 3]); 18 * // => true 19 * 20 * _.isArrayLike(document.body.children); 21 * // => true 22 * 23 * _.isArrayLike('abc'); 24 * // => true 25 * 26 * _.isArrayLike(_.noop); 27 * // => false 28 */ 29function isArrayLike(value) { 30 return value != null && isLength(value.length) && !isFunction(value); 31} 32 33module.exports = isArrayLike; 34