import isType from './isType'; import isWindow from './isWindow'; /** * 判断是否类数组 * @param {any} data 数据 * @returns {Boolean} */ export default function isArrayLike (data: any): boolean { if (!data) { return false; } let _length: number|undefined = 'length' in data && data.length; if (isType(data, 'Function') || isWindow(data)) { return false; } if (data.nodType === 1 && _length && _length + '' !== '0') { return true; } return isType(data, 'Array') || _length === 0 || (typeof _length === 'number' && _length > 0 && ((_length - 1) in data)); }