判断对象是否为空对象
1.将json对象转化为json字符串,再判断该字符串是否为"{}"
var data = {};
var b = (JSON.stringify(data) == "{}");
console.log(b); //true
2.for in 循环判断
如果是空对象返回true, 否则返回 false 。
var obj = {};
var b = function() {
for(var key in obj) {
return false; //不为空
}
return true;
}
console.log(b()); //true
3.使用ES6的Object.keys()方法
var data = {};
var arr = Object.keys(data);
console.log(arr.length == 0); //true
判断数组是否为空数组
1.判断数组长度length是否为0
let arr = []; if (arr.length == 0){ console.log("数组为空") }else { console.log("数组不为空") }
2.通过data == false 来判断数组为空
在数组直接与布尔类型比较的时候,默认都是将数组和布尔类型都转化为Number类型比较,空数组转化为Number类型的时候为0
let data = [];
if(data == false){
//data为空数组时,要执行的代码
console.log('数组为空');
}
3.将数组转化为json字符串,再判断该字符串是否为"[]"
let obj = [];
console.log(JSON.stringify(obj) === '[]') //true
4.数组是Object类型,Object类型用等号比较的是内存地址,可以先判断是否为数组,再判断是否为空
var a = []
if(Object.prototype.toString.call(a) === '[object Array]' && a.length === 0){
console.log(13)
}