Динамически создать массив в Javascript - PullRequest
3 голосов
/ 01 октября 2010

У меня есть запрос ajax, который возвращает некоторые данные в формате JSON. Я создаю отображение Google Maps, поэтому мне нужно взять эти данные и передать их нескольким переменным. Поэтому я хочу построить массив, как:

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

Затем я могу использовать его для отображения местоположений моих карт Google. У меня есть данные JSON, так как мне пройти через них и создать такой массив? Или есть лучший способ сделать это, что я скучаю (что я подозреваю, смеется)?

Ответы [ 3 ]

9 голосов
/ 01 октября 2010

Просто сделай:

var foo = [];
for (/*loop*/) {
    foo.push(['this is a new array', 'with dynamic stuff']);
}
4 голосов
/ 01 октября 2010

В дополнение к Array.push () вы также можете присваивать значения непосредственно индексам Array.Например,

var foo = [];

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

Это даст вам разреженный массив длиной 20 и значениями в элементах 0 и 19.

2 голосов
/ 01 октября 2010

Вы можете использовать функцию push для объектов Array для их динамического построения.

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]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...