2011-01-06 1 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)); 

      } 
     }); 

Dans ce code, je consigner tout le JSON (dans un format de chaîne) dans la console. Cependant, que se passe-t-il si je veux parcourir les "données" et les enregistrer?Comment faire une boucle "for ... in ...." en Javascript?

+0

Avez-vous essayé connecter l'objet de données lui-même, comme 'console.log (données)'? Firebug vous donne au moins un joli arbre d'objets; vous n'avez pas besoin d'écrire des routines de vidage. – Nathan

+1

Je recommande d'utiliser 'console.dir (data)' pour afficher les structures de données et les objets. – Raynos

+0

@Raynos, 'console.dir()' roches, merci! – Nathan

Répondre

2

Si vous utilisez jQuery, vous pouvez utiliser $.each.

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

Vous devriez totalement abandonner cela et utiliser plutôt jQuery. – Raynos

+3

@Raynos En fait, je pense que jQuery est trop puissant ici, donc il devrait le laisser tomber et utiliser plutôt jQuery. –

+1

Euh, le quoi maintenant? –

6

comme ceci:

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

Si votre utilisation de underscore.js vous pouvez utiliser _.each

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

Vous savez, vous devriez totalement laisser tomber cela et utiliser jQuery. –

Questions connexes