2017-03-15 17 views
4

javascript/jqueryテストを作成して、オブジェクトが空であるかどうかを確認しようとしています。javascript - オブジェクトが空であるかどうかを確認します。

{"mergedSellerArray":{"key1114":"1120"}} 

そして、ここでするとき、空のオブジェクトである:それはそれで何かをしていたときにここで

が対象です

{"mergedSellerArray":{}} 

これは私がSOに答える他に基づいている現在のテストですが、それは動作しません:

var sellers = JSON.stringify({mergedSellerArray}); 
if(Object.keys(sellers).length === 0 && sellers.constructor === Object) { 
    console.log("sellers is empty!"); 
} 
+2

売り手? – stackoverfloweth

+1

'sellers'が外側のオブジェクトであれば、*は空ではありません。あなたの期待した状態と一致するかどうかをチェックするコードを書く必要があります。 – zzzzBov

+0

コンストラクタのテストのポイントは何ですか? – Pointy

答えて

17

sellersが含まれているため、空ではありませんmergedSellerArray。あなたはここにsellers.mergedSellerArray

let sellers = { 
 
    "mergedSellerArray": {} 
 
}; 
 
if (Object.keys(sellers.mergedSellerArray).length === 0 && sellers.mergedSellerArray.constructor === Object) { 
 
    console.log("sellers is empty!"); 
 
} else { 
 
    console.log("sellers is not empty !"); 
 
}

0

をテストする必要がjQueryのである:

$(document).ready(function(){ 
 
\t var obj={"mergedSellerArray":{}}; 
 
\t alert("is empty: "+$.isEmptyObject(obj.mergedSellerArray)); 
 

 
     var obj2={"mergedSellerArray":{"key1114":"1120"}}; 
 
\t alert("is empty: "+$.isEmptyObject(obj2.mergedSellerArray)); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

jsfidle:https://jsfiddle.net/nyqgbp38/

関連する問題