如何使用javascript将小时和分钟转换为分钟?

如何使用javascript将小时和分钟转换为分钟?,javascript,Javascript,我需要使用javascript在下拉列表中将小时和分钟(30分钟,65分钟)转换为分钟!如果只有30分钟,则显示为30分钟,如果是65分钟,则在下拉列表文本中显示1小时05分钟,在value属性中显示值为65!我试过一些代码!在图片的右侧,它给出的值是1HR60分钟,而不是2小时!在最后一行的代码中,我只是控制台对象 var-tObj=[ {“hr”:0,“min”:30,“inMin”:0,“value”:“”}, {“hr”:0,“min”:45,“inMin”:0,“value”:“”}

我需要使用javascript在下拉列表中将小时和分钟(30分钟,65分钟)转换为分钟!如果只有30分钟,则显示为30分钟,如果是65分钟,则在下拉列表文本中显示1小时05分钟,在value属性中显示值为65!我试过一些代码!在图片的右侧,它给出的值是1HR60分钟,而不是2小时!在最后一行的代码中,我只是控制台对象

var-tObj=[
{“hr”:0,“min”:30,“inMin”:0,“value”:“”},
{“hr”:0,“min”:45,“inMin”:0,“value”:“”},
{“hr”:1,“min”:60,“inMin”:0,“value”:“”}
];
tObj.forEach(功能(obj){
如果(目标最小值>0){
如果(obj.hr>0){
obj.inMin=(obj.hr*60+obj.min);
obj.value=obj.hr+“hr”+obj.min+“min”;
}否则{
如果(对象最小值===60){
obj.inMin=数学楼层(obj.min/60);
obj.value=obj.inMin+“hr”;
}否则{
obj.inMin=obj.min;
obj.value=obj.min+“min”;
}
}
}否则{
如果(obj.hr>0){
obj.inMin=(obj.hr*60);
obj.value=obj.hr+“hr”;
}否则{
obj.inMin=0;
obj.value=obj.min+“min”;
}
}
});

控制台日志(tObj)如果我正确理解了您想要实现的目标,这应该可以完成以下工作:

//已编辑问题的解决方案
常数tObj2=Object.freeze([{
“hr”:0,
“分钟”:30,
“inMin”:0,
“值”:”
},
{
“hr”:0,
“min”:45,
“inMin”:0,
“值”:”
},
{
“hr”:0,
“最小”:50,
“inMin”:0,
“值”:”
},
{
“人力资源”:1,
“min”:15,
“inMin”:0,
“值”:”
},
{
“人力资源”:1,
“分钟”:30,
“inMin”:0,
“值”:”
},
{
“人力资源”:1,
“min”:45,
“inMin”:0,
“值”:”
},
{
“hr”:2,
“min”:0,
“inMin”:0,
“值”:”
},
{
“人力资源”:1,
“min”:65,
“inMin”:0,
“值”:”
}
]);
tObj2.forEach(项目=>{
施工时数=item.hr+数学楼层(item.min/60);
常数hoursTxt=小时数>0?
小时数+(小时数===1&&“小时数”|“小时数”):
'';
const minutes=item.min%60;
const minutesTxt=minutes+(minutes==1&&“min”| |“min”);
const timeTxt=hoursTxt?
小时TXT+''+分钟测试文本:
分钟文本;
item.inMin=小时*60+分钟;
item.value=timeTxt;
});
//原问题的解决办法
const tObj=Object.freeze([{
“hr”:0,
“分钟”:30
},
{
“hr”:0,
“分钟”:60
},
{
“人力资源”:1,
“最小”:0
},
{
“人力资源”:1,
“分钟”:45
},
{
“hr”:2,
“分钟”:45
},
{
“hr”:0,
“分钟”:60
}
]);
const formattedTimes=tObj.reduce((附件,项目)=>{
施工时数=item.hr+数学楼层(item.min/60);
常数hoursTxt=小时数>0?
小时数+(小时数===1&&“小时数”|“小时数”):
'';
const minutes=item.min%60;
const minutesTxt=minutes+(minutes==1&&“min”| |“min”);
const timeTxt=hoursTxt?
小时TXT+''+分钟测试文本:
分钟文本;
常数timeObj={
值:小时*60+分钟,
文本:timeTxt
}
acc.push(timeObj);
返回acc
}, []);
//试验
log('已编辑问题的解决方案:',tObj2);

log('原始问题的解决方案:',formattedTimes)刚返回((目标小时*60)+目标分钟);编辑之前的代码似乎很好。编辑后代码的问题是
time\u convert
不返回值,因此
element.conVal=time\u convert(element)
未定义的
分配给
元素.conVal
。但是您可以看到,
inMin
值是正确的。因此,计算似乎很好。你只需要访问正确的属性,或者将属性更改为你想要的(我们不知道)。编辑之前,它只给出正确的答案!但如果tObj[2]有1小时和60分钟,则给出1小时60分钟而不是2小时!既然你已经把时间值存储为小时和分钟,我会考虑输入“代码>小时:1,分钟:60 < /COD>无效。数据来自哪里?如果你想处理好这件事,你必须先把小时+分钟转换成分钟,然后再把分钟转换成小时+分钟。你搞定了,伙计!非常感谢你!第一个解决方案是我所需要的,第二个解决方案也是必须感谢的!谢谢大家!!