2013-02-22 16 views
17

ben döngü için bir sonraki atlamak için gereken kısa bir javascript kodu var .... aşağıya bakınız: İçinde bir süre içinde bir içeri bir sonraki javascript'e nasıl geçilir?

var y = new Array ('1', '2', '3', '4'); 
for (var x in y) { 
    callFunctionOne(y[x]); 
    while (condition){ 
     condition = callFunctionTwo(y[x]); 
     //now want to move to the next item so 
     // invoke callFunctionTwo() again... 
    } 
} 

basit böylece sözdizimi hatası özgür olabilir tutmak istedi.

+0

Belki devam etmek istiyorsun? https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/continue Neyi başarmak istediğinizden emin değilim. Ayrıca, diziler üzerinde yinelemek için 'in ... 'için kullanmayın. –

+0

Sanırım, while döngüsünü kırmayı ve hemen * döngü için * devam etmeyi kast ettiler. Eğer * gibi bir şey yoksa, örneğin örneğinizde olduğu gibi, sadece 'break' kullanabilirsiniz; –

+0

Döngüler de dahil olmak üzere JavaScript'de birçok şeyi etiketleyebilirsiniz. Harika sonuçlar için 'devam et' ve 'kırma' etiketlerini birleştirin! –

cevap

35

for...in kullanarak diziler üzerinde yineleme yapmayın. Bu sözdizimi, bir nesnenin özellikleri üzerinde yinelemek içindir, bu sizin peşinde olmadığınız şey değildir.

var y = [1, 2, 3, 4]; 

for (var i = 0; i < y.length; i++) { 
    if (y[i] == 2) { 
     continue; 
    } 

    console.log(y[i]); 
} 

Bu yazdırır:

1 
3 
4 

Aslında, sen while dışarı kırmak istiyorum benziyor

gerçek sorunuza gelince, sen continue kullanabilirsiniz döngü. Bunun için break kullanabilirsiniz:

while (condition){ 
    condition = callFunctionTwo(y[x]); 
    break; 
} 

yanı do...while döngüler bir göz atın.

+0

Teşekkürler Blender. Bu aslında yardımcı olacaktır. –