Передача двумерного ассоциативного массива в фунцию

Dark Wizard

Гуру форума
Регистрация
23 Сен 2007
Сообщения
194
Реакции
80
Проблема:

есть массив:

Код:
<script>
model[1][seria] = 111; 
model[2][seria] = 222;
model[3][seria] = 444;   

function showseria(){
document.write(model[1][seria]);
}

</script>

Пробовал и объявлять вначале по всякому, например:
Код:
var model = new Array();
model[seria] = new Array();

и передавать в функцию всеми способами, и обращаться через window.

Работает только объявление массива внутри функции, либо сначала забить массив в какой-нибудь input, а в функции брать данные из document.getElementById('inputid').value

Как правильно передать двумерный ассоциативный массив в функцию (или как-то сделать этот массив глобальным)?
 
Нужно установить мерность массива.
Код:
var model = new Array([],[],[],[]);
var seria = 'd';
model[0][seria] = 111;
model[1][seria] = 111;
model[2][seria] = 222;
model[3][seria] = 444;  
function showseria(){
document.write(model[3][seria]);
}
 
У тебя многомерный массив. Если тебе можно обойтись 2 мерным. То:
Код:
model[0][seria1] = 111;
model[0][seria2] = 111;
model[0][seria3] = 222;
model[0][seria4] = 444;
}
 
на самом деле у меня вот такой массив, если полностью, и мне нужно с ним работать в функции...

Код:
model[1][seria] = 1;
model[1][type] = "Конденсационный";
model[1][name] = "Vitodens100WB1C";
model[1][kotel_power] = 26;
model[1][rashod_topliva] = 2.6;

model[2][seria] = 1;
model[2][type] = "Конденсационный";
model[2][name] = "Vitodens100WB1C";
model[2][kotel_power] = 35;
model[1][rashod_topliva] = 3.5;

model[3][seria] = 1;
model[3][type] = "Конденсационный";
model[3][name] = "Vitodens100WB1C";
model[3][kotel_power] = 26;
model[3][rashod_topliva] = 1.9;
model[3][toplivo] = "сж.газ";

model[4][seria] = 1;
model[4][type] = "Конденсационный";
model[4][name] = "Vitodens100WB1C";
model[4][kotel_power] = 35;
model[4][rashod_topliva] = 2.6;
model[4][toplivo] = "сж.газ";

model[5][seria] = 2;
model[5][type] = "Традиционный";
model[5][name] = "Vitopend100WH1D";
model[5][kotel_power] = 24.8;
model[5][rashod_topliva] = 2.83;

model[6][seria] = 2;
model[6][type] = "Традиционный";
model[6][name] = "Vitopend100WH1D";
model[6][kotel_power] = 31;
model[6][rashod_topliva] = 3.53;

model[7][seria] = 2;
model[7][type] = "Традиционный";
model[7][name] = "Vitopend100WH1D";
model[7][kotel_power] = 24.8;
model[7][rashod_topliva] = 2.09;
model[7][toplivo] = "сж.газ";

model[8][seria] = 2;
model[8][type] = "Традиционный";
model[8][name] = "Vitopend100WH1D";
model[8][kotel_power] = 31;
model[8][rashod_topliva] = 2.61;
model[8][toplivo] = "сж.газ";

model[9][seria] = 3;
model[9][type] = "Конденсационный";
model[9][name] = "Vitodens200B2HA";
model[9][kotel_power] = 35;
model[9][rashod_topliva] = 3.48;

model[10][seria] = 3;
model[10][type] = "Конденсационный";
model[10][name] = "Vitodens200B2HA";
model[10][kotel_power] = 45;
model[10][rashod_topliva] = 4.47;

model[11][seria] = 3;
model[11][type] = "Конденсационный";
model[11][name] = "Vitodens200B2HA";
model[11][kotel_power] = 60;
model[11][rashod_topliva] = 5.95;

model[12][seria] = 3;
model[12][type] = "Конденсационный";
model[12][name] = "Vitodens200B2HA";
model[12][kotel_power] = 80;
model[12][rashod_topliva] = 7.94;

model[13][seria] = 3;
model[13][type] = "Конденсационный";
model[13][name] = "Vitodens200B2HA";
model[13][kotel_power] = 100;
model[13][rashod_topliva] = 9.93;

model[14][seria] = 3;
model[14][type] = "Конденсационный";
model[14][name] = "Vitodens200B2HA";
model[14][kotel_power] = 45;
model[14][rashod_topliva] = 3.3;
model[14][toplivo] = "сж.газ";

model[15][seria] = 3;
model[15][type] = "Конденсационный";
model[15][name] = "Vitodens200B2HA";
model[15][kotel_power] = 60;
model[15][rashod_topliva] = 4.39;
model[15][toplivo] = "сж.газ";

model[16][seria] = 3;
model[16][type] = "Конденсационный";
model[16][name] = "Vitodens200B2HA";
model[16][kotel_power] = 80;
model[16][rashod_topliva] = 5.86;
model[16][toplivo] = "сж.газ";

model[17][seria] = 3;
model[17][type] = "Конденсационный";
model[17][name] = "Vitodens200B2HA";
model[17][kotel_power] = 100;
model[17][rashod_topliva] = 7.33;
model[17][toplivo] = "сж.газ";

model[18][seria] = 4;
model[18][type] = "Традиционный";
model[18][name] = "Vitogas100-F";
model[18][kotel_power] = 35;
model[18][rashod_topliva] = 4.09;

model[19][seria] = 4;
model[19][type] = "Традиционный";
model[19][name] = "Vitogas100-F";
model[19][kotel_power] = 48;
model[19][rashod_topliva] = 5.61;

model[20][seria] = 4;
model[20][type] = "Традиционный";
model[20][name] = "Vitogas100-F";
model[20][kotel_power] = 60;
model[20][rashod_topliva] = 7.01;

model[21][seria] = 4;
model[21][type] = "Традиционный";
model[21][name] = "Vitogas100-F";
model[21][kotel_power] = 84;
model[21][rashod_topliva] = 9.66;

model[22][seria] = 4;
model[22][type] = "Традиционный";
model[22][name] = "Vitogas100-F";
model[22][kotel_power] = 108;
model[22][rashod_topliva] = 12.42;

model[23][seria] = 5;
model[23][type] = "Традиционный";
model[23][name] = "Vitola200";
model[23][kotel_power] = 18;
model[23][rashod_topliva] = 2;

model[24][seria] = 6;
model[24][type] = "Тепловой насос";
model[24][name] = "Vitocal300-G";
model[24][kotel_power] = 17;
model[24][rashod_topliva] = 3.8;

model[25][seria] = 7;
model[25][type] = "Конденсационный";
model[25][name] = "Vitorondens200-T";
model[25][kotel_power] = 35.4;
model[25][rashod_topliva] = 3.4;

model[26][seria] = 8;
model[26][type] = "Традиционный";
model[26][name] = "Vitorond200";
model[26][kotel_power] = 33;
model[26][rashod_topliva] = 3.6;

model[27][seria] = 9;
model[27][type] = "Конденсационный";
model[27][name] = "Vitocrossal200CM2";
model[27][kotel_power] = 87;
model[27][rashod_topliva] = 8.7;

model[28][seria] = 10;
model[28][type] = "Традиционный";
model[28][name] = "Vitoplex200SX2A";
model[28][kotel_power] = 90;
model[28][rashod_topliva] = 10.4;

model[29][seria] = 11;
model[29][type] = "Конденсационный";
model[29][name] = "Vitocrossal300CT3U";
model[29][kotel_power] = 630;
model[29][rashod_topliva] = 62.8;

model[30][seria] = 10;
model[30][type] = "Традиционный";
model[30][name] = "Vitoplex200SX2A";
model[30][kotel_power] = 560;
model[30][rashod_topliva] = 64.5;

model[31][seria] = 12;
model[31][type] = "Электрокотел";
model[31][name] = "Котел";
model[31][kotel_power] = 17;
model[31][rashod_topliva] = 17;
 
Можно создать конструктором.
Код:
var table = new Array(33);
for(var i = 0; i < table.length; i++)
  table[i] = new Array(5);
 
Для просмотра ссылки Войди или Зарегистрируйся, извини за вопрос, но как будет выглядеть такой код полностью? Не совсем понял, как массив table связать с массивом model...
 
Код:
var model = new Array(33);
for(var i = 0; i < model.length; i++)
  model[i] = new Array(5);
 
Странно, так пробовал, у меня не работает:

Код:
<script>
var model = new Array(33);
for(var i = 0; i < model.length; i++){
model[i] = new Array(5);
}

model[0][seria] = 111;
model[1][seria] = 111;
model[2][seria] = 222;
model[3][seria] = 444;
model[4][seria] = 444;
model[5][seria] = 555;
model[6][seria] = 666;
model[7][seria] = 777;

function showseria(){
document.write(model[5][seria]);
}
</script>
<br><br><br><br><br><br><center><a href="#" onclick="showseria();">TEST ME</a></center>
 
Напиши
Код:
var seria;
У тебя переменная не определяется.
 
Назад
Сверху