判斷js數組/對象是否為空


/**
   * 判斷js數組/對象是否為空
   * isPrototypeOf() 驗證一個對象是否存在於另一個對象的原型鏈上。即判斷 Object 是否存在於 $obj 的原型鏈上。js中一切皆對象,也就是說,Object 也存在於數組的原型鏈上,因此這里數組需要先於對象檢驗。
   * Object.keys() 返回一個由給定對象的自身可枚舉屬性組成的數組,數組中屬性名的排列順序和使用 for...in 循環遍歷該對象時返回的順序一致
   * @param $obj
   * @return {boolean}
   */
  function isEmpty($obj) {
    // 檢驗非數組/對象類型  EX:undefined   null  ''  根據自身要求添加其他適合的為空的值  如:0 ,'0','  '  等
    if (!$obj && $obj !== 0 && $obj !== '') return true;

    if (typeof $obj === "string") {
      $obj = $obj.replace(/\s*/g, "");//移除字符串中所有 ''

      if ($obj === '') return true;
    }

    return (Array.isArray($obj) && $obj.length === 0) || (Object.prototype.isPrototypeOf($obj) && Object.keys($obj).length === 0);
  }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM