2015-05-19 5 views
0

Я хотел бы перечислить все даты и час в год с форматом mmddhhВывести все даты года

Q1: Почему я получил «неопределенными» перед выходом? Как я могу это исправить?

var m, d, h, month, day, hour, output; 
 
for (m = 1; m <= 12; m++) { 
 
    month = addZero(m).toString(); 
 
    for (d = 1; d <= 31; d++) { 
 
     day = addZero(d).toString(); 
 
     for (h = 1; h <= 24; h++) { 
 
      hour = addZero(h).toString(); 
 
      output += month + day + hour + "<br>"; 
 
     } 
 
    } 
 
} 
 
document.getElementById("result").innerHTML = output; 
 

 
function addZero(z) { 
 
    var z 
 
    if (z < 10) 
 
     return "0" + z; 
 
    else 
 
     return z; 
 
}
<p id="result"></p>

Q2: Я пытался зацикливание d 31 раз, используя if (m = "01" || "03" || "05" || "07" || "08" || "10" || "12") еще цикл 30 раз. Однако это не так, как я могу это сделать?

var m, d, h, month, day, hour, output; 
 
    for (m = 1; m <= 12; m++) { 
 
     month = addZero(m).toString(); 
 
     if (m = "01" || "03" || "05" || "07" || "08" || "10" || "12") { 
 
      for (d = 1; d <= 31; d++) { 
 
       day = addZero(d).toString(); 
 
       for (h = 1; h <= 24; h++) { 
 
        hour = addZero(h).toString(); 
 
        output += month + day + hour + "<br>"; 
 
       } 
 
      } 
 
     } else { 
 
      for (d = 1; d <= 30; d++) { 
 
       day = addZero(d).toString(); 
 
       for (h = 1; h <= 24; h++) { 
 
        hour = addZero(h).toString(); 
 
        output += month + day + hour + "<br>"; 
 
       } 
 
      } 
 
     } 
 
    } 
 
    document.getElementById("result").innerHTML = output; 
 

 

 
    function addZero(z) { 
 
     var z 
 
     if (z < 10) 
 
      return "0" + z; 
 
     else 
 
      return z; 
 
    }
<p id="result"></p>

ответ

0

Вы объявили переменную output, но не инициализируется со значением, поэтому его значение не определено.

Тогда, когда вы говорите output += month + day + hour + "<br>"; это действительно output = undefined + month + day + hour + "<br>";, таким образом, вы получаете undefined в начале Thx output

var m, d, h, month, day, hour, output = ""; 
 
for (m = 1; m <= 12; m++) { 
 
    month = addZero(m).toString(); 
 
    for (d = 1; d <= 31; d++) { 
 
    day = addZero(d).toString(); 
 
    for (h = 1; h <= 24; h++) { 
 
     hour = addZero(h).toString(); 
 
     output += month + day + hour + "<br>"; 
 
    } 
 
    } 
 
} 
 
document.getElementById("result").innerHTML = output; 
 

 
function addZero(z) { 
 
    var z 
 
    if (z < 10) 
 
    return "0" + z; 
 
    else 
 
    return z; 
 
}
<p id="result"></p>

+0

для Вашего ответа на Q1 Не могли бы вы мне помочь для решения Q2? – Ming

+0

@Ming 'm ==" 01 "|| m == "03" || m == "05" || m == "07" || m == "08" || m == "10" || m == "12" ' –

+0

@Ming http://jsfiddle.net/arunpjohny/81x13ne2/2/ –

Смежные вопросы