JavaScript:オブジェクトにプロパティがないかどうか、またはマップ/連想配列が空かどうかを確認する [重複]

StackOverflow https://stackoverflow.com/questions/3426979

質問

重複の可能性:
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;
}

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

役に立ちましたか?

解決

これを試して:

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top