1. ホーム
  2. javascript

[解決済み] Prototypeを使用してjavascriptでオブジェクトのすべてのプロパティを繰り返し処理する?

2023-03-30 23:44:52

質問

Prototype JavaScript フレームワークを使用して、オブジェクトのすべてのプロパティに対して反復処理を行う方法はありますか?

状況は次のとおりです。私は以下のようなJSONのAJAXレスポンスを取得しています。

{foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}

このjsonレスポンスを変数に評価すると response の各プロパティを反復処理できるようにしたい。 response.barobj オブジェクトの各プロパティに対して、どのインデックスがtrueでどれがfalseであるかを見ることができるようにしたい。

プロトタイプは両方の Object.keys()Object.values() が、不思議なことに、単純な Object.each() 関数がないようです! Object.keys()とObject.values()の結果を取って、片方を反復しながらもう片方を相互参照することはできますが、それはとてもハッキングなので、きっと適切な方法があるはずです!

どのように解決するのですか?

まず オブジェクトリテラルをプロトタイプハッシュに変換します。 :

// Store your object literal
var obj = {foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}

// Iterate like so.  The $H() construct creates a prototype-extended Hash.
$H(obj).each(function(pair){
  alert(pair.key);
  alert(pair.value);
});