2017-03-04 6 views
0

numが7に等しい場合、myAryが8回戻されないのはなぜですか? myAryは、以下のコードを1回だけ返します。do whileループを使用して配列を返します

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

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

にコードを更新する必要があります。これは助けになるとは思えませんが、コードの 'i'と' num'は本質的に冗長ですが、 'var myAry = ['my array']と機能的に同等です。 return 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); 

戻り値を別の場所で使用する必要がある場合は、2次元配列を使用できます。

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)); 
関連する問題