JavaScript:オブジェクトにプロパティがないかどうか、またはマップ/連想配列が空かどうかを確認する [重複]
-
26-09-2019 - |
質問
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
プロトタイプ。それは十分に良い場合もあれば、十分でない場合もあります。
所属していません StackOverflow