2010-10-01 10 views
3

J'ai une requête ajax qui retourne des données au format JSON. Je construis un affichage Google Maps avec celui-ci, je dois donc prendre ces données et les transmettre à quelques variables. Donc, je veux construire un tableau comme:Créer dynamiquement un tableau en Javascript

var foo = [ 
    ['A Town', 32.844932, -50.886401, 1, setting1, '<div class="office"><div class="name">Smith</div><div class="location">111 Main Street<br /> Breen, MS<br /> 12345</div><div class="size">18 units<br />300 Foo</div><div class="thelink"><a href="#">Visit</a><br /><a href="#">Output</a></div></div>'], 
    ['B Town', 33.844932, -51.886401, 2, setting1, '<div class="office"><div class="name">Jones</div><div class="location">112 Main Street<br /> Breen, MS<br /> 12345</div><div class="size">18 units<br />300 Foo</div><div class="thelink"><a href="#">Visit</a><br /><a href="#">Output</a></div></div>'], 
[etc], 
[etc] 
    ]; 

Que je peux ensuite utiliser pour rendre mes emplacements Google Maps. J'ai les données JSON alors comment puis-je boucler et construire un tel tableau? Ou y at-il une meilleure façon de le faire que je suis manquant (ce qui est ce que je soupçonne, lol)?

Répondre

9

Il suffit de faire:

var foo = []; 
for (/*loop*/) { 
    foo.push(['this is a new array', 'with dynamic stuff']); 
} 
2

Vous pouvez utiliser la fonction push sur les objets Array pour les construire dynamiquement.

var a = []; 
var b = [1,2,3,4,5,6,7,8,9]; 

for (var i=0; i<b.length; i++) { 
    a.push(b[i]); 
} 
4

En plus de Array.push(), vous pouvez également affecter des valeurs directement aux index de tableau. Par exemple,

var foo = []; 

foo[0] = "Foo 0"; 
foo[19] = "Bob"; 

Cela vous donnera un tableau creux avec une longueur de 20 et les valeurs des éléments 0 et 19.

+0

谢谢, Robusto. J'apprécie la façon supplémentaire de le faire. – Lothar

Questions connexes