【发布时间】:2016-03-06 15:54:18
【问题描述】:
我正在对 Coderbyte 进行挑战,如果对我的问题提出任何建议,我将不胜感激:
我知道有一种更简单的方法可以解决这个问题(我后来发现):
function TimeConvert(num) {
var hours = Math.floor(num / 60);
var minutes = num % 60;
return hours + ":" + minutes;
}
...所以 TimeConvert(123);将是 2:3
我知道我的答案比较复杂,但为什么我试图回答这个问题的方式不起作用?我错过了什么?对于输入的任何数字,它只会返回 0:00:
function TimeConvert(num) {
var hours=0;
var minutes=0;
for(var i=0; i<=num; i+=60) {//loop through number every 60
if(num[i]>=60) { //for every 60 add 1 hour
hours+=1;
}else if(num[i]<60){
minutes=num[i];
}
}
var newMinute=0;
if (minutes<10){
newMinutes="0"+minutes;
}else if(minutes>10){
newMinutes=minutes;
}
return(hours + ":" + newMinutes);
}
谢谢大家!^^
【问题讨论】:
-
您的问题是您在不使用
Date()对象的情况下进行日期时间计算。你已经在 javascript 中有方法,但是你正在制作循环和所有疯狂的东西来实现存在的东西。你可以从这个开始:techrepublic.com/article/… 或者如果这对你来说非常复杂,你可以使用 Moment.js 库,它可以让日期时间变得更容易。 momentjs.com -
@MarcosPérezGudem 我认为这不是问题所在。在下面检查我的答案。
-
@MarcosPérezGudem 我知道有更简单的方法可以解决这个问题,但我是 JavaScript 新手。我要弄清楚如何用我目前的想法创建一个解决方案。我相信从长远来看,这将对我作为一名开发人员有所帮助,并有助于练习我解决问题的能力。 :)
-
@MarcosPérezGudem *不想要
标签: javascript function