在php中空数组跟和空对象,在进行布尔值验证是是false,但是js中数组或对象不管是否有属性或值存在统统任务是true。
在编写程序的过程中这是很蛋疼的。为了解决这个问题只能自己写方法进行判断。下面总结一下几种方法
// 用es6的keys方法搞定
function isEmpty(obj){
return Object.keys(obj).length === 0;
}
// 利用JSON转换搞定
function isEmpty(obj){
return JSON.stringify(obj) == '{}';
}
// 利用for in或for of等写个for in的例子
function isEmpty(obj){
for(let item in obj){
return true;
}
return false;
}
上面几种都可以,但是效率问题需要验证一下,目测第三种应该是最快的,注意第三种中使用了let 这是es6的用法,如果要兼容老的ie还是需要用var的