2017-09-14 7 views
-2

これは非常に基本的な練習ですが、関数の中に2つの関数を再現する方法を見つけることはできません。他の関数を再現する関数を作成する方法

  • 風景(NF、SF、NM、SM)がフラットの数、フラットのサイズ、山の数、山のサイズを受信します。
  • (SF)フラット - 、「のSM数のセットを再現回(NF
  • /\の間に - 下線のSF数(_)
  • 山(SM)のセットが再生、nm) - フラットと山のnfとnmの数を再現するはずです。

時間は機能していないようです。私は間違って何をしていますか?

var landscape = function (nf, sf, nm, sm) { 
 
    var result = ""; 
 
    var flat = function(sf) { 
 
     for (var x = 0; x < sf; x++) { 
 
      result += "_"; 
 
     } 
 
    } 
 
    
 
    var mountain = function(sm) { 
 
     result += "/"; 
 
     for(var x = 0; x < sm; x++) { 
 
      result += "'"; 
 
     } 
 
     result += "\\"; 
 
    } 
 
    
 

 
    var times = function(nf, nm) { 
 
    // executes flat(nf) and mountain(sm) 
 
     for (var z = 0; z < nf; z++) { 
 
      flat(sf); 
 
      for (var y = 0; y < nm; y++) { 
 
       mountain(sm); 
 
      } 
 
     } 
 
    } 
 
    
 
    return result; 
 
} 
 

 
console.log(landscape(2,3,2,3));

+2

あなたは何を間違っていますか?あなたは何を期待していますか、あなたの成果は何ですか? – ControlAltDel

+0

あなたがしたことは、すべて「平ら」と「山」と「時」と宣言されていますが、決して呼び出されませんでした。これらの関数を呼び出すことはないので、結果は常に '' ''になります。 –

+0

landscapeは3つの関数を作成しますが、決して呼び出しません。だから、このコードは空の文字列を返す以外の何もしないように私に見えます。 –

答えて

2

あなたはそれを実行する前に、times関数を作成するが、あなたreturn result;

返信前にtimes(nf, nm);を追加する

関連する問題