t-comm
Version:
专业、稳定、纯粹的工具库
29 lines (26 loc) • 812 B
JavaScript
import _typeof from '@babel/runtime/helpers/typeof';
/**
* Used as references for various `Number` constants.
* @private
*/
var MAX_SAFE_INTEGER = 9007199254740991;
/**
* Used to detect unsigned integer values.
* @private
*/
var reIsUint = /^(?:0|[1-9]\d*)$/;
/**
* Checks if `value` is a valid array-like index.
*
* @param {*} value The value to check.
* @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
*/
function isIndex(value, length) {
if (length === void 0) {
length = MAX_SAFE_INTEGER;
}
var type = _typeof(value);
return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
}
export { isIndex };