2017-03-04 119 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));