1. ホーム
  2. javascript

[解決済み] JavaScriptオブジェクトのプロパティを一覧表示するには?

2022-03-20 04:22:56

質問

このようにオブジェクトを作成するとします。

var myObject =
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};

プロパティ名のリストを取得する最良の方法は何でしょうか?つまり、以下のような変数 'keys' で終わらせたいと思います。

keys == ["ircEvent", "method", "regex"]

解決方法は?

モダンブラウザ(IE9+, FF4+, Chrome5+, Opera12+, Safari5+)では、内蔵の オブジェクトのキー メソッドを使用します。

var keys = Object.keys(myObject);

上記はフルポリフィルですが、簡略化したものが

var getKeys = function(obj){
   var keys = [];
   for(var key in obj){
      keys.push(key);
   }
   return keys;
}

または、次のように置き換えます。 var getKeysObject.prototype.keys を呼び出せるようにする。 .keys() を任意のオブジェクトに適用することができます。 プロトタイプを拡張することは副作用があるので、あまりお勧めできません。