2016-01-06 3 views
-1

Первый цикл отображает три элемента, которые являются правильными. Второй цикл влияет на только два предмета из трех. Всегда второй цикл влияет на один элемент меньше, чем первый цикл. Как заставить второй цикл воздействовать на на все три элемента или общее количество элементов?Looping не перебирает последний элемент в массиве

Первый цикл

for (i = 0; i <= 2;i++) { 
    //calling second looping 
console.log("count= "+i); 
callMe(); 
} 

-------------------------------------------------------- 

var k = 0; 
    function callMe() 
    { 
     k++; 
     var data = 0; 
     for(;data <= k;data++) 
     { 
      console.log("data= "+data); 
      /*do something here*/ 
     } 
    } 

Журналы:

count 0 //first loop 
data = 0 //sec loop 
data = 1 // sec loop 


count 1 //first loop 
data = 0 //sec loop 
data = 1 //sec loop 
data = 2 //sec loop 
+0

что 'для (; данные <= k; data ++) 'здесь что-то не так? –

+1

@ParthTrivedi: допустимо оставить одну или несколько частей 'for'. Значение 'k' равно 0, установленному вне функции, что неверно. –

+0

@TrueBlueAussie ok. –

ответ

0

Надежда это может работать .. а у меня есть сомнения, Абт переменной к

var k = 0; 
for (i = 0; i < 2;i++) { 
    //calling second looping 
console.log("count= "+i); 
k++; 
callMe(k); 

} 

-------------------------------------------------------- 


function callMe(var j) 
{ 
    var data = 0; 
    for(;data <= j;data++) 
    { 
     console.log("data= "+data); 
     /*do something here*/ 
    } 
} 
+0

, но callMe не делает влияет на последний элемент –

+0

см. изменение..k ++ должно быть выше вызывающей функции callMe – Grv

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