time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

isArrayLike.js (830B)


      1 var 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  */
     29 function isArrayLike(value) {
     30   return value != null && isLength(value.length) && !isFunction(value);
     31 }
     32 
     33 module.exports = isArrayLike;