zoukankan      html  css  js  c++  java
  • js如何判断一个对象为空

    今天碰到一个问题如何判断一个对象为空?

    总结的方法如下:

    1.使用jquery自带的$.isEmptyObject()函数。

    var data={};
    console.log($.isEmptyObject(data));//true
    var data={
          x:123,
          y:456
    }
    console.log($.isEmptyObject(data));//false

    2.自己封装一个方法:

         $(function(){
            var data={};
            console.log($.isEmptyObject(data));//true
            var data2={
                x:123,
                y:456
            }
            function objIsEmpty(obj){
    var t;   
    for(var t in obj){//如果不为空,则会执行到这一步,返回true     return !1;   }   return !0; } console.log(objIsEmpty(data));//true console.log(objIsEmpty(data2));//false })

     3.通过JSON自带的.stringify方法将对象转化为字符串来判断:

         var data={};
         var data2={
                x:123,
                y:456,
                data:[1,2,3]
         };
         // var str=JSON.stringify(data) ;
         // console.log(str);
         function isEmptyObj(obj){
              if(JSON.stringify(obj) == "{}"){
                  return !0;
              }else{
                  return !1;
              }
         }
         console.log(isEmptyObj(data));//true
         console.log(isEmptyObj(data2));//false

    4.通过es6的Object.keys(obj).length的方法判断。

    var data = {};
    var data2 = {
             x:123,
             y:456,
             data:[1,2,3]
     };
    function isEmptyObj(obj){
             if(Object.keys(obj).length == 0){
                    return !0;
              }else{
                    return !1
              }
    }
    console.log(isEmptyObj(data));//true
    console.log(isEmptyObj(data2));//false
  • 相关阅读:
    迭代器生成器
    eval()
    【剑指offer】调整数组数字位置
    【剑指offer】二进制中1的个数
    【剑指offer】斐波那契数列非递归求解第N项
    【剑指offer】两个栈实现队列
    【剑指offer】逆序输出链表
    【剑指offer】字符串替换
    【剑指offer】规则二维数组查找
    Java转型
  • 原文地址:https://www.cnblogs.com/xinggood/p/6535089.html
Copyright © 2011-2022 走看看