41

重複の可能性:
JSON から空の Javascript オブジェクトをテストするにはどうすればよいですか?

Javascriptでオブジェクトにプロパティがないかどうかを確認する簡単な方法はありますか? 言い換えれば、マップ/連想配列が空かどうかを確認する簡単な方法は? たとえば、次のものがあったとします。

var nothingHere = {};
var somethingHere = {foo: "bar"};

どちらが「空」か簡単に見分ける方法はありますか? 私が考えることができる唯一のことは、次のようなものです:

function isEmpty(map) {
   var empty = true;

   for(var key in map) {
      empty = false;
      break;
   }

   return empty;
}

より良い方法はありますか (ネイティブ プロパティ/関数など)?

4

1 に答える 1

51

これを試して:

function isEmpty(map) {
   for(var key in map) {
     if (map.hasOwnProperty(key)) {
        return false;
     }
   }
   return true;
}

Objectあなたのソリューションも機能しますが、プロトタイプを拡張するライブラリがない場合に限ります。それは十分かもしれませんし、そうでないかもしれません。

于 2010-08-06T19:19:49.413 に答える