1

AngularjsまたはJqueryを使用してJsonを再構築するための最良の方法は何ですか。

次の形式のjsonを取得しています

    [
  {
     "address":"balh",
     "lat":123,
     "long":456
  },
  {
     "address":"balh",
     "lat":321,
     "long":543
  },
  {
     "address":"balh",
     "lat":432,
     "long":333
  },
  {
     "address":"balh",
     "lat":123,
     "long":456
  },
  {
     "address":"balh",
     "lat":321,
     "long":543
  },
  {
     "address":"balh",
     "lat":432,
     "long":333
  }
]

必要な形式は、次のように3つにグループ化することです。

    {
   "1":[
      {
         "address":"balh",
         "lat":123,
         "long":456
      },
      {
         "address":"balh",
         "lat":321,
         "long":543
      },
      {
         "address":"balh",
         "lat":432,
         "long":333
      }
   ],
   "2":[
      {
         "address":"balh",
         "lat":123,
         "long":456
      },
      {
         "address":"balh",
         "lat":321,
         "long":543
      },
      {
         "address":"balh",
         "lat":432,
         "long":333
      }
   ]
}
4

1 に答える 1

2

これは、私には単純な JavaScript の質問のように思えます。

以下のコードは、配列を取得し、それぞれ 3 つ (またはそれ以下) のオブジェクトを持つ配列の辞書に分割する必要があります。

var yourArray = [/*whatever it is in here*/];

var output = {};

for(var i = 0, c = 1, current = null; i < yourArray.length; i++) {
    if(i % 3 == 0) {
        output[c++] = current = [];
    }
    current.push(yourArray[i]);
}

これは、出力の前後を示す (Angular を使用した) フィドルです。

于 2012-12-04T06:06:05.820 に答える