code: function isArrayLike(value) {
    return (
      value != null &&
      value.length &&
      !(
        typeof value === "function" &&
        Object.prototype.toString.call(value) === "[object Function]"
      ) &&
      typeof value === "object"
    );
  }
docs: Checks if `value` is array-like. A value is considered array-like if it's
  not a function and has a `value.length` that's an integer greater than or
  equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
  
  @static
  @category Lang
  @param {*} value The value to check.
  @return {Boolean} Returns `true` if `value` is array-like, else `false`.
  @example
  
  _.isArrayLike([1, 2, 3]);
  // => true
  
  _.isArrayLike(document.body.children);
  // => true
  
  _.isArrayLike('abc');
  // => true
  
  _.isArrayLike(_.noop);
  // => false