UNPKG

@ssports_fe/ssutils

Version:
49 lines (45 loc) 946 B
/** * * @desc 判断是否为合法的array-like长度 * @param {Number} value 需要检查的数字 * @return {Boolean} 返回是否为合法的整数 * * isLength(3) * // => true * * isLength(Number.MIN_VALUE) * // => false * * isLength(Infinity) * // => false * * isLength('3') * // => false */ function isLength(value) { const MAX_SAFE_INTEGER = 9007199254740991; return typeof value === 'number' && value > -1 && value % 1 === 0 && value <= MAX_SAFE_INTEGER; } /** * * @desc 判断是否为类数组 * @param {Array} value 类数组 * @return {Boolean} 返回是否为合法的类数组 * * isArrayLike([1, 2, 3]) * // => true * * isArrayLike(document.body.children) * // => true * * isArrayLike('abc') * // => true * * isArrayLike(Function) * // => false */ function isArrayLike(value) { return value !== null && typeof value !== 'function' && isLength(value.length); } module.exports = isArrayLike;