1. ホーム
  2. javascript

[解決済み】オブジェクトのキーを見つけるにはどうしたらいいですか?

2022-04-17 08:53:53

質問

JavaScriptで知っています。 オブジェクト しかし、キーを取得するための組み込み関数を見つけることができませんでした。

var h = {a:'b', c:'d'};

のようなものが欲しい。

var k = h.keys() ; // k = ['a', 'c'];

自分で関数を書いて、項目を反復処理し、キーを配列に追加して返すのは簡単ですが、標準的なもっときれいな方法はないでしょうか?

このような場合、「このような場合は、どのようにすればよいのでしょうか?

解決方法は?

最近のJavaScript(ECMAScript 5)には Object.keys この操作を行う。

var obj = { "a" : 1, "b" : 2, "c" : 3};
alert(Object.keys(obj)); // will output ["a", "b", "c"]

互換性の詳細はこちらをご覧ください。 こちら .

について Mozillaのサイト 後方互換性のためのスニペットもあります。

if(!Object.keys) Object.keys = function(o){
   if (o !== Object(o))
      throw new TypeError('Object.keys called on non-object');
   var ret=[],p;
   for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
   return ret;
}