在Javascript中动态创建数组

3

我有一个ajax请求,返回一些JSON格式的数据。我正在构建一个Google地图显示它,所以我需要将这些数据传递给几个变量。因此,我想构建一个像这样的数组:

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个回答

9

只需执行:

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

4
除了使用 Array.push() 方法之外,你还可以直接为数组索引赋值。例如,
var foo = [];

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

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

感谢,Robusto。我很感激您提供的另一种方法。 - Lothar

2
你可以在数组对象上使用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]);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接