[轉]JS如何判斷一個對象是否為空、是否有某個屬性


原文地址:https://www.cnblogs.com/crackedlove/p/10039105.html

一、js判斷一個對象是否為空

  方法一:

復制代碼
let obj1 = {}
let obj2 = {a:1}
function empty(obj){
  for (let key in obj){
    return false;    //非空
}
  return true;       //為空
}
console.log(empty(obj1)) //true為空
console.log(empty(obj2)) //false非空
復制代碼

  方法二:

let obj1 = {}
if(JSON.stringify(obj1) == "{}"){
   console.log("空對象")
}else {
   console.log("非空對象")
}

  方法三:Object.keys(obj) 返回一個給定對象自身可枚舉屬性組成的數組。

let obj1 = {}
if (Object.keys(obj1).length == 0){   
   console.log("空對象")
}else {
   console.log("非空對象")
}

二、js判斷對象中是否有某個屬性

  方法一: . 或 [ ]   當此屬性的值為false、undefined、NaN、null、0、"" 時,此方法不適用。

if (obj2.a){
   console.log("對象有此屬性")
}else {
   console.log("對象無此屬性")
}

  方法二: in運算符   如果某屬性在指定對象或其原型鏈上則返回true,只需判斷自身屬性時,此方法不適用。

let obj2 = {a:1}
if ("a" in obj2){ console.log("對象或其原型鏈上有此屬性") }else { console.log("對象或其原型鏈上無此屬性") }

  方法三:obj.hasOwnProperty() 對象自身屬性中含有某屬性,返回true。

let obj2 = {a:1}
if (obj2.hasOwnProperty("a")){ console.log("對象上有此屬性") }else { console.log("對象上無此屬性") }


免責聲明!

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



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