私は2つの配列を持っています。最初のものには、場所とそれらに関する情報が含まれています。これは、次の 3 つのステップによる多次元配列です。
- ステップ 1: カテゴリ (ヘッダー、日付など)。
- ステップ2:実際の場所
ステップ 3: 緯度と経度 (カテゴリ座標の下)
places[0][0] = 'Stockholm'; // Header places[0][1] = 'Karlstad'; places[0][2] = 'Borgholm'; places[1][0] = '2012-05-25'; // Date places[1][1] = '2012-06-12'; places[1][2] = '2012-05-14' places[2][0] = 'Lorum ipsum lorum ipsum lorum ipsum'; // Description places[2][1] = 'Ipsum lorum lorum ipsum lorum ipsum'; places[2][2] = 'Forum Lorum Porum'; places[3][0][0] = '56,123342'; // Latitude places[3][0][1] = '49,123123'; // Longitude places[3][1][0] = '23,543231'; places[3][1][1] = '45,955432'; places[3][2][0] = '34,123459'; places[3][2][1] = '45,325198'; ...and so on...
2 番目の配列には、検索結果、つまり検索に一致した場所が含まれます。私がやりたいことは、最初の配列の情報を使用して新しい配列を作成することですが、2 番目の配列にある要素に対してのみです (上の例では、[1] ('Karlstad') のみを新しい配列にする必要があります)。配列。
また、新しい配列に新しい構造を持たせたいと思っています。最初のレベルのカテゴリの代わりに、最初のレベルの場所が必要です (以下の例を参照)。
results = [1, 15, 17, 19, 32, 91, 102, 103];
newPlaces[0][0] = 'Karlstad';
newPlaces[1][0] = 'Kalmar';
newPlaces[2][0] = 'Luleå';
newPlaces[3][0] = 'Överkalix';
newPlaces[4][0] = 'Malmö';
newPlaces[5][0] = 'Ystad';
newPlaces[6][0] = 'Linköping'
...and so on...
これを行うための最良かつ最も簡単な方法は何でしょうか? 以下のように for ループを使用する必要があると思います (これは機能しません)。
for (var i = 0; i < results.length; i++) {
newPlaces[i][0] = places[0][results[i]];
newPlaces[i][1] = places[1][results[i]];
newPlaces[i][2] = places[2][results[i]];
newPlaces[i][3] = places[3][results[i]];
}
よろしくお願いします!