2017-07-01 9 views
0

NextDay()という名前のjavascript関数を作成する必要があります。 この関数は、翌日の名前をコンソールに表示します。私は関数を呼び出すたびに次の日の名前を出力したい

//Function to Print the name of Next Day in Javascript 
    var NextDay = (function() { 
    counter = 0; 
    var nextDay = function() { 

     var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", 
        "Friday", "Saturday"]; 
     var date = new Date(); 
     var dayNumber = date.getDay() + counter; 
     if (dayNumber < 6) { 
      dayNumber = dayNumber; 
     } 
     else { 
      dayNumber = (dayNumber % 6); 
     } 
     var dayName = days[dayNumber]; 
     counter += 1; 
     return dayName; 
    }; 

    return nextDay; 
})(); 
NextDay(); 
NextDay(); 
NextDay(); 
NextDay(); 
NextDay(); 
NextDay(); 
NextDay(); 
NextDay(); 

私は出力として期待しています:

土曜日 日曜日を
月曜日 火曜日 水曜日 木曜日 金曜日 土曜日

私は以下のように機能を作成している

しかし、私は出力をb ELOW: 日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 は日曜日 月曜日

私は、私はここに非常に小さな何かが欠けています信じているので、私はここに飛ばさ日を取得していたの。

var counter =(new Date).getDay(); 
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 
var nextDay = function() { 
    var day=days[counter]; 
    counter = (counter+1)%7; 
    return day; 
}; 

答えて

1

イムを提案してください。

function* nextDay() { 
 
    let i = 0, 
 
     days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 
 
    while (i < 7) { 
 
    yield console.log(days[i++]); 
 
    if (i == 7) i = 0; 
 
    } 
 
} 
 

 
let gen = nextDay(); 
 
gen.next(); 
 
gen.next(); 
 
gen.next(); 
 
gen.next(); 
 
gen.next(); 
 
gen.next(); 
 
gen.next(); 
 
gen.next(); 
 
gen.next();

+0

手伝ってくれてありがとう、私はこれも日スキップされ、自分のものを試してみました。 –

+0

土曜日 月曜日 火曜日 水曜日 木曜日 金曜日 日曜日 月曜日 火曜日 水曜日 –

+0

@mayankグプタたわごとああ週間が7日あり:7 –

1

ジェネレータ機能が便利なことがあります 間違って起こっているあなたの数学のどのSHUREが、もっと簡単な方法theresのない

+0

収穫日[i ++]はもっと有用でしょうか? –

+0

@Jonaswありがとう(: –

関連する問題