どのようにループの2次元アレイとストアオブジェクト?

scorezel789:

イムは配列にオブジェクトを格納しようとしています。私は2次元配列のループを使用してみましたし、イムは、私がしたいことを右の結果を得ていません。私が間違っているかを知ることができると私はそれをどのように修正するのですか?そのちょうど私がしたいかのように15回の代わりに、5回の印刷をoutput以下に述べます。

入力:

var places = ['Place A', 'Place B', 'Place C', 'Place D', 'Place E'];
var data = [];
var results = [
  [ '1.3784294469999998', '103.9424764', '519498' ],
  [ '1.325617641', '103.67841059999999', '629117' ],
  [ '1.3835802030000002', '103.7707748', '670445' ],
  [ '1.322595392', '103.8136987', '258748' ],
  [ '1.3061957990000002', '103.828509', '238884' ]
]

私が欲しいの出力:

[
  [ places: 'Place A', lat: '1.3784294469999998', lon: '103.9424764', zip: '519498' ],
  [ places: 'Place B', lat: '1.325617641', lon: '103.67841059999999', zip: '629117' ],
  [ places: 'Place C',lat: '1.3835802030000002', lon: '103.7707748', zip: '670445' ],
  [ places: 'Place D',lat: '1.322595392', lon: '103.8136987', '258748' ],
  [ places: 'Place E',lat: '1.3061957990000002', lon: '103.828509', zip: '238884' ]
]   

コード:

  for (i = 0; i < results.length; i++) {
    for (j = 0; j < results[i].length; j++) {
      data.push({ places: places[i], lat: results[i][j], lon: results[i][j], zip: [i][j]});
    }
  }
CertainPerformance:

あなたは、単一のループではなく、ネストされたループが必要になります。

var places = ['Place A', 'Place B', 'Place C', 'Place D', 'Place E'];
var data = [];
var results = [
  [ '1.3784294469999998', '103.9424764', '519498' ],
  [ '1.325617641', '103.67841059999999', '629117' ],
  [ '1.3835802030000002', '103.7707748', '670445' ],
  [ '1.322595392', '103.8136987', '258748' ],
  [ '1.3061957990000002', '103.828509', '238884' ]
];
for (i = 0; i < results.length; i++) {
  data.push({ places: places[i], lat: results[i][0], lon: results[i][1], zip: results[i][2]});
}
console.log(data);

または、おそらくより読み出し可能と.mapし、非構造:

var places = ['Place A', 'Place B', 'Place C', 'Place D', 'Place E'];
var results = [
  [ '1.3784294469999998', '103.9424764', '519498' ],
  [ '1.325617641', '103.67841059999999', '629117' ],
  [ '1.3835802030000002', '103.7707748', '670445' ],
  [ '1.322595392', '103.8136987', '258748' ],
  [ '1.3061957990000002', '103.828509', '238884' ]
];
const data = results.map(
  ([lat, lon, zip], i) => ({ places: places[i], lat, lon, zip })
);
console.log(data);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=320592&siteId=1