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, время: 08:59. |