我有一个返回一些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数据,所以我如何循环它并构建这样的数组?或者有一种更好的方法可以做到这一点,我错过了(这是我怀疑的,哈哈)?
答案 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]);
}