Javascript DOM元素转换为整数并将其转换为总时间量-小时/分钟
因此,我有一个网站登录的想法,我试图得到所有的分钟和小时,然后创建总时间 以下是网站: 这是代码和方框: 正如你所看到的,我得到了分钟数,试着把它转换成parseFloat,然后试着把它全部加起来,但是我被卡住了Javascript DOM元素转换为整数并将其转换为总时间量-小时/分钟,javascript,calculation,Javascript,Calculation,因此,我有一个网站登录的想法,我试图得到所有的分钟和小时,然后创建总时间 以下是网站: 这是代码和方框: 正如你所看到的,我得到了分钟数,试着把它转换成parseFloat,然后试着把它全部加起来,但是我被卡住了 const mins = document.querySelectorAll('.minutes'); // console.log(mins.value.innerText); //var totalMinutes = 0; mins.forEach(min => {
const mins = document.querySelectorAll('.minutes');
// console.log(mins.value.innerText);
//var totalMinutes = 0;
mins.forEach(min => {
const convertMins = parseFloat(min.innerHTML);
// console.log(`convertMins: ${convertMins}`);
const calculate = min + convertMins;
//const calculate = convertMins + convertMins;
console.log(calculate);
// const minutes = min.innerHTML;
// console.log(`Minutes: ${minutes}`);
//console.log(min.innerText);
});
如果有人能提供指导,我将不胜感激
谢谢,
戴夫
另外,我也在这里问过Reddit:
谢谢大家!
编辑
感谢您对Pedro的帮助如果有人想这样做,这里是完整的解决方案:
//Minutes
const mins = document.querySelectorAll(".minutes");
var totalMinutes = 0;
mins.forEach(min => {
const convertMins = parseFloat(min.innerHTML);
totalMinutes = totalMinutes + convertMins;
});
console.log(totalMinutes);
//Hours
const hours = document.querySelectorAll(".hours");
var totalHours = 0;
hours.forEach(hour => {
const convertHours = parseFloat(hour.innerHTML);
console.log(`Hours: ${convertHours}`);
const newMins = convertHours * 60;
console.log(`new mins: ${newMins}`);
// totalHours = totalHours + convertHours;
totalHours = totalHours + newMins;
});
console.log(`Total Hours ${totalHours}`);
//Then add the lot
const addTotal = totalMinutes + totalHours;
console.log(`This is the total time: ${addTotal}`);
//Then Convert The Lot
function time_convert(addTotal) {
var hours = Math.floor(addTotal / 60);
var minutes = addTotal % 60;
return `${hours} hrs : ${minutes} Minutes`;
}
// console.log(time_convert(161));
const headingTotal = document.querySelector(".totalTime");
console.log(headingTotal);
headingTotal.innerText = time_convert(addTotal);
最短的方法是使用
reduce
:
const mins = document.querySelectorAll('.minutes');
var totalMinutes = mins.reduce((sum, min) => {
const convertMins = parseFloat(min.innerHTML);
return sum + convertMins;
}, 0);
console.log(totalMinutes);
但如果这对您来说很复杂,这里有一个使用forEach
的解决方案:
const mins = document.querySelectorAll('.minutes');
var totalMinutes = 0;
mins.forEach(min => {
const convertMins = parseFloat(min.innerHTML);
totalMinutes = totalMinutes + convertMins;
});
console.log(totalMinutes);
谢谢你,佩德罗,这正是我所需要的,现在我已经完成了我想做的事情,你可以在上面的问题中看到。我只是需要复习一下怎么做,你来帮我,所以谢谢你,先生!佩德罗因为我是新来的,所以我无法对你的答案投赞成票,但我已将其标记为答案,并表示感谢:)