Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с многомерными массивами (https://javascript.ru/forum/misc/31570-pomogite-s-mnogomernymi-massivami.html)

OklickSpb 12.09.2012 23:30

Помогите с многомерными массивами
 
Суть такая: как создать многомерный динамический массив.
Принцип дейтсвия очень прост:
название массива: resultImages[номер пункта][номер изображения]
При добавлении нового пункта, создается соответственно новый номер пункта и далее номера изображений, входящих в этот пункт.
Но проблемма в том, что создать номера пунктов таким образом он не хочет:

var resultImages = [[true]]
function newPrice(price, image)
{
     resultImages[price][image] = true;
}

работает только в том случае, если изначально забить n-ое количество номеров пунктов, а сколько их будет, я не знаю, может и тысяча... Наверняка есть выход, вопрос какой?

Как сделать?
Заранее благодарен.

lord2kim 12.09.2012 23:42

OklickSpb, перед тем как создавать номер изображения у N-го номера пункта, необходимо создать N-ый пункт
var mas = [];
for (i=0; i < 2; i++) {
    for (j=0; j < 2; j++) {
        if (!mas[i]) mas[i] = [];
        mas[i][j] = ""+i+j;
    }
}
alert(mas);

nerv_ 13.09.2012 02:15

Цитата:

Сообщение от OklickSpb
Суть такая: как создать многомерный динамический массив.

поздравляю. С одной частью Вы уже справились - все массивы в js динамические.

lord2kim, var i,j не?

lord2kim 13.09.2012 11:42

nerv_, не)

bes 13.09.2012 15:23

var resultImages = [[true]]
function newPrice(price, image) {
	if (typeof(resultImages[price]) != 'object') {//(!resultImages[price])
		resultImages[price] = [];
	}
	resultImages[price][image] = true;
}
newPrice(5, 5);
newPrice(5, 6);
alert(resultImages);


Часовой пояс GMT +3, время: 05:32.