Как сохранить значения с помощью цикла - PullRequest
1 голос
/ 18 ноября 2009

Я пытаюсь добавить возвращенное значение из функции test() в переменный результат, но +=, похоже, не работает. Я получаю ошибку "неверная инициализация переменной". Я также попытался заменить i++ на i+=, который тоже не работал. Может быть, я совершенно не прав и должен вместо этого использовать цикл while? Я совсем растерялся ..

Я хочу, чтобы 'result' выглядел примерно так:

var result = no no no 0no 0no no;

и т. Д. (Без пробелов, конечно).

Любая помощь высоко ценится! Спасибо

function test(no){

            if (no <= 15){              
                return '0' + parseInt(no);
            }

            else {              
                return parseInt(no); 
            }       
}


        for(i = 0; i < pics.length; i++){

            var b = pics[i].value;

            var result += test(b);

        }

Ответы [ 3 ]

5 голосов
/ 18 ноября 2009

Каждый раз, когда начинается ваш цикл, var result уходит. Вам нужно переместить его за пределы цикла:

var result = ''; // lives outside loop
for(i = 0; i < pics.length; i++)
{
    var b = pics[i].value;
    result += test(b);
}
0 голосов
/ 18 ноября 2009

Вы видите эту ошибку, потому что вы используете оператор приращения для вновь объявленной переменной. Используйте '=':

for(i = 0; i < pics.length; i++)
{
   var b = pics[i].value;
   var result = test(b);
}

Хотя, как указал GMain, реальным решением является перемещение объявления переменной 'result' за пределы цикла for.

0 голосов
/ 18 ноября 2009

вам нужно инициализировать результат как строку, а не как переменную.

, например

вне петли

string result = string.Empty;

для цикла

результат + = тест (б);

конец для цикла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...