for не присваивает значение
Здравствуйте!
Столкнулся с такой загадкой: есть элемент cmIndex[0][0], в котором значение 'RUB'. пишу: console.log(cmIndex[0][0]); //Вывод, как надо 'RUB' пишу в цикле:
var input={};
input.num=0;
for(var i=0;cmInputType!=cmIndex[i][0];i++){input.num++;}
//Ошибка: Uncaught TypeError: Cannot read property '0' of undefined
Ругается на [0]. То есть: (var i=0;cmInputType!=cmIndex[i];i++) //Нет ошибки (var i=0;cmInputType!=cmIndex[i][0];i++) //Есть ошибка Приходится переписывать цикл так:
for(var i=0;cmIndex[i];i++){
if (cmInputType!=cmIndex[i][0]){input.num++;}
Так длиннее и вложенность добавляется. Хочу, чтобы все красиво было. Почему в цикле for не получается присвоить элементу значение из подмассива? Как с этим бороться? |
Цитата:
Где у тебя какое-то присвоение? Вот тест твоей конструкции
var input={};
input.num=0;
var cmInputType='RUB';
var cmIndex=[
['t0'],
['t1'],
['RUB']
];
alert(cmIndex[0][0]);
for(var i=0;cmInputType!=cmIndex[i][0];i++){
input.num++;
};
alert(input.num);
Все правильно посчиталось - 2 элемента не RUB... |
| Часовой пояс GMT +3, время: 02:04. |