0
問題が残っています...入力番号が与えられています長さ4の文字列を出力しようとしています。 2つのパラメーターセクション "On"/"Off"。例えば複数の配列(javascript)を作成するために長いfor-loopsを避ける方法
:入力番号-If
は次のように文字列を組み合わせ取得する必要があり、16:
- = * Math.floor "オン" の "オン"(16/5 )= 3 - > "オンオン"。
- "オフ"セクションは、length-On-section = 4-3 = 1 - > "オフ"にする必要があります。
- したがって、文字列は "On On On Off"のようになります。
私は現在、forループを使用するよりも、私のソリューションをより良いアプローチに絞りたいと考えています。私は、このアプローチをさまざまな時間に繰り返して、同じアプローチで、さまざまな長さと "オン"/"オフ"のセクション比率でストリングを作成する必要があります。しかし - 私適切にそれを設定する方法がわからない...
が、これは一例です:
function hoursTop(hour) {
var lights = [], on = Math.floor(hour/5), off = 4 - topLightsOn;
for(var i=1; i<=on; i++){
lights.push('On');
}
for(var j=1; j<=Off; j++){
lights.push('Off');
}
return lights.join("");
}
これは...全体的に私を助けてくれてありがとうをあまりにも多くのコードを生成します! 、そしてそれらCONCAT、配列を作成する
function hoursTop(hour) {
var on = Math.floor(hour/5), off = 4 - on;
return 'on '.repeat(on) + 'off '.repeat(off).trim();
}
console.log(hoursTop(16));
それとも、Array#fillを使用することができます。