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 + '秒';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章