2017-03-04 184 views
0

當num等於7時,爲什麼myAry不會返回8次? myAry只用下面的代碼返回一次。返回數組while while循環

function array(num) { 
    var myAry = ['my array']; 
    var i = num; 
    do { 
    i++; 
    return myAry; 
    } while (i < 15); 
} 

console.log(array(7)); 
+1

這是非常困難的幫助這裏,因爲沒有你想達到的行爲的內容或解釋。我懷疑這會有所幫助,但是在你的代碼中''''和'num'基本上是多餘的,它在功能上等同於'var myAry = ['my array'];返回myAry;'。無論如何,我會用您正在使用的語言標記問題,並提供所需行爲的簡要說明。 – George

+0

使用Javascript-我正在尋找數組返回num和15之間的次數。使用do while循環。 –

回答

0

我不知道你使用的是什麼語言,但通常return關鍵字意味着採取什麼是正確的,把它送上去到任何調用此函數,並從那裏繼續。它基本上結束了你的功能。

0

您的數組函數正在被調用一次,它將返回for循環的最後一次迭代。您需要在for循環內登錄到控制檯。

function array(num) { 
var myAry = ['my array']; 
    var i = num; 
    do { 
    i++; 
    console.log(myAry); 
    } while (i < 15); 
} 

array(7); 

如果您需要在其他地方使用返回值,則可以使用二維數組。

function array(num) { 
    var returnAry = []; 
    var myAry = ['my array']; 
    var i = num; 
    do { 
     i++; 
     returnAry = returnAry.concat(myAry); 
    } while (i < 15); 
    return returnAry; 
} 

console.log(array(7)) 
0

的原因是,我們在調用return你的循環中,所以第一次的循環運行時,它會返回['my array']和循環永遠不會具有執行不止一次的機會。 爲了實現你在找什麼,你需要將代碼更新到這個

function array(num) { 
    var myAry = ['my array']; 
    var result; 
    do { 
     num++; 
     // update result based on what you're trying to accomplish here 
    } while (num < 15); 
    return result; 
} 

console.log(array(7));