js判斷數組是否為空 判斷任意變量是否為空(非空判斷)


1、一般情況下判斷一個數組是否為空可以用(明確該字段為數組類型)

arr.length == 0

來判斷

但是還有一種情況時不能確定數組是否定義,比如接口傳回的數據中如果沒有這個字段,就會報錯

Cannot read properties of undefined (reading 'length')

 

 這種情況下length就不再適用

可以使用arr != true 來判斷,數組為空數組或者未定義都適用,返回結果為true即這個數組為空

 2、isEmpty 返回值為true表示為空(NaN , [] , {} , undefined , null , " " ),false為有值

/**
 * 判斷是否有值,0不發生轉換,數字0和字符串0都是false,即 不為空
 * 空數組也返回true,即為空
 * @param v
 * @returns {boolean}
 */function isEmpty(v) {
  switch (typeof v) {
    case 'undefined':
      return true;
    case 'string':
      if (v.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true;
      break;
    case 'boolean':
      if (!v) return true;
      break;
    case 'number':
      if (isNaN(v)) return true; // 0不發生轉換,數字0和字符串0都是false,即 不為空
      break;
    case 'object':
      if (null === v || v.length === 0) return true;
      for (var i in v) {
        return false;
      }
      return true;
  }
  return false;
}

 


免責聲明!

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



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