JavaScript 30 Day -- 17 使用reduce进行时间累加

实现效果:

计算video的总时间。

关键点:

1.取得所有li中data-time属性的值,将时间换算为秒并累加求得总时间(单位:秒);
2.手动计算将总时间转化为新的格式“XX小时XX分XX秒”;
3.将结果显示在页面上。

javascript

  console.info(parseInt(1.99)); 
  var oli = document.querySelectorAll('li');
  var totaltime = document.querySelector('#totaltime');
  var times = [];
  var timeSum;
  // console.log(oli);
  for(var i = 0;i < oli.length; i++){
    var timeItem = oli[i].dataset['time'].split(':');
    // console.log(timeItem);
    // console.log(timeItem.length);
    if(timeItem.length > 2){
      times.push(parseInt(timeItem[0],10)*60*60+parseInt(timeItem[1],10)*60+parseInt(timeItem[2],10));
    }else{
      times.push(parseInt(timeItem[0],10)*60+parseInt(timeItem[1],10));
    }
  }
  console.log(times);
  timeSum = times.reduce(function(a,b){
    return a + b;
  },0);
  console.log(timeSum);
  var hour = parseInt(timeSum / 3600);
  var min = parseInt((timeSum % 3600) / 60);
  var sec = parseInt((timeSum % 3600) % 60);
  totaltime.innerHTML = hour + '小时' + min + '分' + sec + '秒';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值