- json オブジェクトを json 文字列に変換し、その文字列が「{}」であるかどうかを判断します
var data = {
};
var b = (JSON.stringify(data) == "{}");
alert(b);
//true
- ループ判定用
var obj = {
};
var b = function() {
for(var key in obj) {
return false;
}
return true;
}
alert(b());
//true
- jQuery の isEmptyObject メソッド
このメソッドは、jquery が 2 つのメソッド (in 用) をカプセル化し、使用時に jquery に依存する必要があることです。
var data = {
};
var b = $.isEmptyObject(data);
alert(b);
//true
- Object.getOwnPropertyNames()
このメソッドは、Object オブジェクトの getOwnPropertyNames メソッドを使用して、オブジェクト内のプロパティ名を取得し、配列に格納して、配列オブジェクトを返すというもので、配列の長さを判断することで、オブジェクトが空かどうかを判断できます。
注: このメソッドは ie8 と互換性がありません
var data = {
};
var arr = Object.getOwnPropertyNames(data);
alert(arr.length == 0);
//true
- ES6 の Object.keys() メソッドを使用する
メソッド4と同様にES6の新しいメソッドで、戻り値もオブジェクト内の属性名の配列
var data = {
};
var arr = Object.keys(data);
alert(arr.length == 0);
//true