0

次のような js オブジェクトがあります。

            var detailsArray = [
                                 {a0 :1,
                                  b0 :'A'},
                                 {a1 :2,
                                  b1 :'B'},
                                 {a2 :3,
                                  b2 :'C'},
                                 {a3 :4,
                                  b3 :'D'}];

これは、サーバー側からオブジェクトを作成する方法です。クライアント側では、すべての「a」の値を取得して配列に追加したいと考えています。問題は、変数名がインデックス番号に応じて変化していることです。underscore.js を使用して次のようなことを試みました。

          var variableA = new Array();
          for(var i = 0;i<detailsArray.length;i++){
            var temp = 'a' + i;
            variableA[i] = _.pluck(detailsArray,temp);
          }              

しかし、これはうまくいきません。誰でも値を取得する方法を教えてもらえますか??

4

4 に答える 4

0

次のようにすることもできます。

for (var i = 0; i < detailsArray.length; i++)
  alert(eval("detailsArray[" + i + "].a" + i));

私が提供するコードalertは、json 配列のように対応するすべての値になりますが、明らかに、取得した値で何でもできます。

ここでは、すべての鍵がそのようなものであると考えていますが、これは安全な仮定だと思います。

于 2013-04-15T07:34:33.070 に答える