isEmpty.ts 681 Bytes
Newer Older
hucy's avatar
hucy committed
1 2 3 4 5 6
/**
 * 是否为空
 * @param {any} data
 * @return {Boolean}
 */
export const isEmpty = function (data: any): boolean {
hucy's avatar
hucy committed
7 8
  if (data === '' || data === null || data === undefined) {
    return true;
hucy's avatar
hucy committed
9 10 11
  }
  // [] {} 0 false/true
  else {
hucy's avatar
hucy committed
12
    const typeofs = Object.prototype.toString.call(data);
hucy's avatar
hucy committed
13
    // 数组
hucy's avatar
hucy committed
14 15 16 17 18 19
    if (typeofs === '[object Array]') {
      if (data.length > 0) {
        return false;
      } else {
        return true;
      }
hucy's avatar
hucy committed
20 21 22
    }
    // 对象
    else if (typeofs === '[object Object]') {
hucy's avatar
hucy committed
23 24 25 26 27
      if (Object.keys(data).length > 0) {
        return false;
      } else {
        return true;
      }
hucy's avatar
hucy committed
28 29 30
    } else {
      // 不为空
      return false;
hucy's avatar
hucy committed
31 32 33
    }
  }
};