2009-11-18 4 views
1

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

Я хочу, чтобы «результат», чтобы выглядеть примерно так:

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); 

     } 
+0

На каком языке это? – GManNickG

+0

Похож на javascript. –

+0

Учитывая синтаксис и имена переменных, я предполагаю JavaScript и как таковой. ActionScript (или любой другой язык на основе ECMAScript) - еще один вероятный выбор, но в этом примере они имеют одинаковые синтаксисы. –

ответ

5

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

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

Результат - строка, она должна быть инициализирована '' not 0. –

+0

Просто исправлено это. :) – GManNickG

+0

Спасибо HEAPS !! Это решило все! – patad

0

необходимо инициализировать результат как строку не как var.

например.

вне цикла

строка результат = string.Empty;

цикл

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

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

0

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

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

Хотя, как Гмайн отметил, реальное решение, чтобы переместить «Result» объявление переменной вне для цикла.

+0

представляет собой совокупную конкатенацию результатов теста() для каждого элемента. –

+0

Нет необходимости в downvote. Я объяснил причину его ошибки компиляции. –

+0

"скомпилировать ошибку"? Я сомневаюсь, что есть один, Хаэро. :-) – Nosredna

Смежные вопросы