Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   не могу задать новый элемент массива (https://javascript.ru/forum/events/50767-ne-mogu-zadat-novyjj-ehlement-massiva.html)

REMOX 10.10.2014 14:01

не могу задать новый элемент массива
 
Доброго времени суток!

решил запостить вопрос, так как сам не могу понять, в чем проблем (возможно, надо выспаться)) )
Код:

var divdeffo=rez[0].split('-');
var divdeffc=divdeffo.length;
var rezdmin = new Array();
var rezdfpl = new Array();
							
for(i=0;i<divdeffc;i++){
var divrezhide5=document.getElementsByClassName(divdeffo[i])[0].getElementsByClassName("rez")[0].style="display: none;";
var divrezhide6=document.getElementsByClassName(divdeffo[i])[0].getElementsByClassName("rez")[1].style="display: none;";
								
var ddff=divdeffo[i];
var n = i+3;
var armrez=rez[n].split('-');
alert("755");
rezdmin[i][0]=ddff;
rezdmin[i][1]=window['defarm_'+ddff+"1"]-armrez[0];
rezdmin[i][2]=window['defarm_'+ddff+"2"]-armrez[1];
rezdmin[i][3]=window['defarm_'+ddff+"3"]-armrez[2];
rezdmin[i][4]=window['defarm_'+ddff+"4"]-armrez[3];
rezdmin[i][5]=window['defarm_'+ddff+"5"]-armrez[4];
rezdmin[i][6]=window['defarm_'+ddff+"6"]-armrez[5];
rezdmin[i][7]=window['defarm_'+ddff+"7"]-armrez[6];
rezdmin[i][8]=window['defarm_'+ddff+"8"]-armrez[7];
rezdmin[i][9]=window['defarm_'+ddff+"9"]-armrez[8];
rezdmin[i][10]=window['defarm_'+ddff+"10"]-armrez[9];
rezdmin[i][11]=window['defarm_'+ddff+"11"]-armrez[10];
alert("745");
rezdpl[i][0]=ddff;
rezdpl[i][1]=armrez[0];
rezdpl[i][2]=armrez[1];
rezdpl[i][3]=armrez[2];
rezdpl[i][4]=armrez[3];
rezdpl[i][5]=armrez[4];
rezdpl[i][6]=armrez[5];
rezdpl[i][7]=armrez[6];
rezdpl[i][8]=armrez[7];
rezdpl[i][9]=armrez[8];
rezdpl[i][10]=armrez[9];
rezdpl[i][11]=armrez[10];
alert("765");
}

в браузере такое-
http://shot.qip.ru/00bDte-515iw6PH2g/
http://shot.qip.ru/00bDte-515iw6PH2h/

не могу понять, в чем проблема,,
почему TypeError: rezdmin[] is undefined ?
спасибо наперед)

danik.js 10.10.2014 14:09

да ты удали дублирующийся код для начала.

REMOX 10.10.2014 14:24

Цитата:

Сообщение от danik.js (Сообщение 334627)
да ты удали дублирующийся код для начала.

извините, а где там дубли? О_о

danik.js 10.10.2014 14:28

Дык в глазах рябит от дублирующихся строк. Тебе и правда нужно поспать)

REMOX 10.10.2014 14:36

Цитата:

Сообщение от danik.js (Сообщение 334630)
Дык в глазах рябит от дублирующихся строк. Тебе и правда нужно поспать)

где?
вот есть же люди - вместо того, чтобы за 3 секунды подсказать -
будут днями издеваться и не подскажут...
спасибо и таким людям))

REMOX 10.10.2014 15:56

изменил

Код:

var rezdmin = new Array();
var rezdpl = new Array();

на

Код:

var rezdmin = new Array( Array() );
var rezdpl = new Array( Array() );

по совету друга, теперь 1й записывается, а 2й - нет, хотя по образу и подобию... в чем проблем??

Код:

rezdmin[i][0]=ddff;
rezdmin[i][1]=window['defarm_'+ddff+"1"]-armrez[0];
rezdmin[i][2]=window['defarm_'+ddff+"2"]-armrez[1];
rezdmin[i][3]=window['defarm_'+ddff+"3"]-armrez[2];
rezdmin[i][4]=window['defarm_'+ddff+"4"]-armrez[3];
rezdmin[i][5]=window['defarm_'+ddff+"5"]-armrez[4];
rezdmin[i][6]=window['defarm_'+ddff+"6"]-armrez[5];
rezdmin[i][7]=window['defarm_'+ddff+"7"]-armrez[6];
rezdmin[i][8]=window['defarm_'+ddff+"8"]-armrez[7];
rezdmin[i][9]=window['defarm_'+ddff+"9"]-armrez[8];
rezdmin[i][10]=window['defarm_'+ddff+"10"]-armrez[9];
rezdmin[i][11]=window['defarm_'+ddff+"11"]-armrez[10];
alert("745");
rezdpl[i][0]=ddff;
rezdpl[i][1]=armrez[0];
rezdpl[i][2]=armrez[1];
rezdpl[i][3]=armrez[2];
rezdpl[i][4]=armrez[3];
rezdpl[i][5]=armrez[4];
rezdpl[i][6]=armrez[5];
rezdpl[i][7]=armrez[6];
rezdpl[i][8]=armrez[7];
rezdpl[i][9]=armrez[8];
rezdpl[i][10]=armrez[9];
rezdpl[i][11]=armrez[10];


danik.js 10.10.2014 16:08

Ты не захотел потратить пары минут, на то чтобы привести код в порядок.
Почему кто-то должен тратить свое время чтобы разобраться в этих грядках?

REMOX 10.10.2014 16:28

Цитата:

Сообщение от danik.js (Сообщение 334668)
Ты не захотел потратить пары минут, на то чтобы привести код в порядок.
Почему кто-то должен тратить свое время чтобы разобраться в этих грядках?

что значит "привести код в порядок"?

вот так?

Код:

var divdeffo=rez[0].split('-');
var divdeffc=divdeffo.length;
var rezdmin = new Array( new Array() );
var rezdpl = new Array( new Array() );

for(i=0;i<divdeffc;i++){
var divrezhide5=document.getElementsByClassName(divdeffo[i])[0].getElementsByClassName("rez")[0].style="display: none;";
var divrezhide6=document.getElementsByClassName(divdeffo[i])[0].getElementsByClassName("rez")[1].style="display: none;";

var ddff=divdeffo[i];
var n = i+3;
var armrez=rez[n].split('-');

rezdmin[i][0]=ddff;
rezdpl[i][0]=ddff;
for (var kk=1;kk<=11;kk++){
var ll=kk-1;
rezdmin[i][kk]=window['defarm_'+ddff+kk]-armrez[ll];
rezdpl[i][kk]=armrez[ll];
}

а толку? те же яйца, в тот же профиль, только добавилось переменных)
код в порядке - это, минимум, когда он работает,, если не работает - о каком порядке можно вести речь..
был бы код в порядке - я бы не создавал пост о проблеме, а вы, вместо того, чтобы хоть подсказать, в чем может быть заковырка - издеваетесь...

danik.js 10.10.2014 17:05

А че вобще за задача стоит? Код все равно не читаемый, ибо имена переменных обфусцированы. Пожалуйста, не пости здесь офусцированный код. Пости исходник.

Safort 10.10.2014 17:29

REMOX,
Цитата:

что значит "привести код в порядок"?
Отформатировать, логичнее назвать имена переменных, убрать дублирование.

Не понимаю, зачем ты пишешь так
var rezdmin = new Array( new Array() );
var rezdpl = new Array( new Array() );

если можно так
var rezdmin = [[]];
var rezdpl = [[]];


Ну и тут тоже можно по короче
var divrezhide5=document.getElementsByClassName(divdeffo[i])[0].getElementsByClassName("rez")[0].style="display: none;";
var divrezhide6=document.getElementsByClassName(divdeffo[i])[0].getElementsByClassName("rez")[1].style="display: none;";

Например, так
var rezes = document.getElementsByClassName(divdeffo[i])[0].getElementsByClassName("rez");
var divrezhide5=rezes[0].style="display: none";
var divrezhide6=rezes[1].style="display: none";


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