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
プロトタイプを拡張するライブラリがない場合のみです。十分かもしれませんし、そうでないかもしれません。