js判断空数组,空对象

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:19   1750   0

判断对象是否为空对象

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)
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP