繁体   English   中英

在Javascript中动态创建数组

[英]Dynamically create an array in Javascript

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

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数据,所以我如何循环它并构建这样的数组? 还是有一种更好的方法可以做到我错过了(这是我怀疑的,哈哈)?

做就是了:

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

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

var foo = [];

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

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

您可以使用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]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM