在Javascript中动态创建数组

时间:2010-10-01 16:06:02

标签: javascript json

我有一个返回一些JSON格式数据的ajax请求。我正在构建一个谷歌地图显示器,所以我需要获取该数据并将其传递给一些变量。所以我想建立一个像:

这样的数组
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]
    ];

然后我可以使用它来渲染我的谷歌地图位置。我有JSON数据,所以我如何循环它并构建这样的数组?或者有一种更好的方法可以做到这一点,我错过了(这是我怀疑的,哈哈)?

3 个答案:

答案 0 :(得分:9)

只是做:

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

答案 1 :(得分:4)

除了Array.push()之外,您还可以直接将值分配给Array索引。例如,

var foo = [];

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

这将为您提供一个长度为20的稀疏数组,以及元素0和19中的值。

答案 2 :(得分:2)

您可以使用Array对象上的push函数动态构建它们。

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]);
}