Js对象判空与对象是否包含某个属性

对象判空

1.将对象转换为JSON字符串,判断是否为‘{}’

var b =data=> (JSON.stringify(data) == "{}");

2.for in循环对象

var b =data=> {
for(var key in data){return false;}
return true
}

3.jquery的isEmptyObject方法

var b = $.isEmptyObject(data);

4.Object.getOwnPropertyNames()方法
该方法会把对象的属性名全部收集到一个数组之中,并把数组返回,判断数组长度是否为0

var b =data=> {
if(Object.getOwnPropertyNames().length==0){
return true;
}
return false;
}

5.使用ES6的Object.keys()方法(与4的方法类似)

判断对象中是否包含某个属性

1.判断是否为undefined

if (obj2.a){
   console.log("对象有此属性")
}else {
   console.log("对象无此属性")
}

2.in运算符 (但是如果属性在对象的原型链上存在,那么会返回true)

let obj2 = {a:1}
if ("a" in obj2){
   console.log("对象或其原型链上有此属性")
}else {
   console.log("对象或其原型链上无此属性")
}

3.obj.hasOwnProperty() 对象自身属性中含有某属性,返回true。

let obj2 = {a:1}
if (obj2.hasOwnProperty("a")){
   console.log("对象上有此属性")
}else {
   console.log("对象上无此属性")
}

你可能感兴趣的:(Js对象判空与对象是否包含某个属性)