2017-08-03 8 views
1

GoogleマップからのこのJSON応答を.jsonファイルに保存しました。近くの学校を検索しています。Jsonをループしてオブジェクトに追加する

学校の名前と場所を抽出し、後で使用するために変数elemSchoolsArrに保存するだけです。

私は以下のコードがjsonレスポンスをループしない理由を知りません。elemSchoolsObjは、後でelemSchoolsArrにプッシュする10の代わりに1つのオブジェクトのみを表示します。

答えて

0

ループ内の配列にオブジェクトをプッシュするだけで、各オブジェクトが1つではなくプッシュされるようにするだけです。 JSONをここで取得できないため、このコードスニペットは実際には実行されません。

var elemSchoolsArr = []; 
 

 
$.getJSON('elementary-schools.json', function(data){ 
 
    for (var i = 0; i < 10; i++) { 
 
    var elemSchoolsObj = {}; 
 
    elemSchoolsObj.title = data.results[i].name; 
 
    elemSchoolsObj.location = data.results[i].geometry.location; 
 
    elemSchoolsArr.push(elemSchoolsObj); 
 
    } 
 
});
ここ

が機能例です...

var array = ["a", "b", "c", "d", "e"]; 
 
var first_try = []; 
 
var second_try = []; 
 

 
for(var i = 0; i < array.length; i++){ 
 
    // we define our object in the loop but don't add it to the array 
 
    var obj = { 
 
    \t item: array[i] 
 
    }; 
 
} 
 

 
// we push one object in to the array 
 
first_try.push(obj); 
 

 
// we get one object in the array 
 
console.log(first_try); 
 

 
for(var i = 0; i < array.length; i++){ 
 
    // we define our object in the loop 
 
    var obj = { 
 
    \t item: array[i] 
 
    }; 
 
    // we push each object we define in the loop in to the array 
 
\t second_try.push(obj); 
 
} 
 

 
// we get all the objects in the array 
 
console.log(second_try);

+0

ありがとうございました。あなたのソリューションは完璧に動作します。 – CryptoPsyche

+0

私は助けることができる嬉しい:) – sauntimo

関連する問題