2011-01-06 11 views
1
simple_client = new simplegeo.PlacesClient('gHPQAUFbHHL3sHcfSqaetBMskrKZY5'); 
     var place_query = "starbucks"; 
     simple_client.search({{ browser_lat }}, {{ browser_long }}, { q: place_query }, function(err, data) { 
      if (err) { 
       console.error(err); 
      } else { 
       console.log(JSON.stringify(data)); 

      } 
     }); 

このコードでは、JSON全体(文字列形式)をコンソールに記録します。しかし、もし私が "データ"をループして、それぞれを記録したいのであれば?Javascriptで「for ... in ....」ループを実行するにはどうすればよいですか?

+0

を使用することができます 'はconsole.log(データ)'のように、あなたは、データオブジェクト自体をログに記録しようとしたことがありますか? Firebugは少なくともあなたに素敵なオブジェクトツリーを与えます。ダンプ・ルーチンを書く必要はありません。 – Nathan

+1

データ構造やオブジェクトの表示に 'console.dir(data)'を使うことをお勧めします。 – Raynos

+0

@Raynos、 'console.dir()' rocks、ありがとう! – Nathan

答えて

2

jQueryを使用している場合は$.eachを使用できます。そのよう

$.each(data, function(i,v){ 
    alert(v); 
}); 
+2

これを完全に削除して、代わりにjQueryを使用してください。 – Raynos

+3

@Raynos実際、jQueryはここで過度のものだと思うので、完全に削除してjQueryを使うべきです。 –

+1

ああ、今何? –

6

for(var key in data) { 
    if(!data.hasOwnProperty(key)) continue; 
    //do something with key or data[key] 
} 
1

あなたがunderscore.jsを使用している場合、あなたは_.each

_.each(data, function(value, key, data) { 
    // do something with value 
}); 
+1

あなたが知っている、あなたは完全にそれを落としてjQueryを使うべきです。 –

関連する問題