在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的
以上是js判断对象是否为空的方法的详细内容。更多信息请关注PHP中文网其他相关文章!