2017-06-02 9 views
0

の最高のロールを返す関数を書いて与えられたサイコロのアレイの元で最高の出目 を返す必要があり、この機能:[2,3,5,1,2] - > 5サイコロ

私が持っています私の新しい機能にリンクする必要があるが、私が始めた機能の何処、どこを覚えていないのか、私はそれらをリンクするべきです。

rollDie: function rollDie() { 
 
     return Math.floor((Math.random() * 6) + 1); 
 
    } 
 

 
    
 
    rollNDice: function rollNDice(n) { 
 
     var result = [ ]; 
 
    for (var i = 0; i < n; i++) { 
 
     result.push(rollDie()); 
 
    }       
 
    return result;    
 
} 
 
console.log(rollNDice(4));

これは私が始めた新しいコードにリンクする必要があり、私の元のコードです。

function maxRoll(arr){ 
 
var largest_num = [ ]; 
 
for(var i=0; i > arr.length; i++){ 
 
    if(arr[i] < largest_num){ 
 
    largest_num = arr[i]; 
 
    } 
 
} 
 
return largest_num; 
 
}

私はどこかに私の元のコードをリンクする必要が私の新しいコード。あなたは、アレイ内の最大数を見つけるためにMath.max機能を使用することができ

+0

あなたは何を意味する "それらをリンク"? – Carcigenicate

+0

@Carcigenicateまたは 'call'?私は正確な言葉が何であるか分かりません。しかし、rollDieをrollNDiceの中でどのように呼び出すかのように。以前と同じように動作させることができませんでした。 –

+0

本当に、関数内でロールを生成する関数を呼び出すべきではありません。関数の外にある数値を生成し、リストに入れて関数に渡します。関数は必要なだけ少なくする必要があります。 – Carcigenicate

答えて

5

:あなたの実装に問題

const rolls = [4, 7, 3, 2, 9, 5]; 
 
const maxRoll = Math.max(...rolls); 
 

 
console.log(maxRoll);

i場合は、チェックしているので、あなたが無限ループを持っていますlengthよりもむしろlengthより大きく、

for(var i=0; i > arr.length; i++) 

は次のようになります。また

for(var i=0; i < arr.length; i++) 

チェックが反転しているよりも、あなたの大きい:

arr[i] < largest_num 

は次のようになります。

arr[i] > largest_num 
関連する問題