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("对象上无此属性")
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容