利用 map() 與 reduce() 來計算播放清單的總秒數。
目標
- 利用 map() 與 reduce() 來計算播放清單的總秒數。
實踐步驟
- 取得所有 data-time 的DOM元素,並轉換成 Array,以便可使用map..等method
- 計算出總秒數
 2-1. 取得 時間(分、秒)
 2-2. 將時間(分、秒)轉化成數字型態,且算成 秒數
 2-3. 最後將每一首的秒數加總
- 將 總秒數 計算成 時、分、秒 顯示
 3-1. 先計算 小時,只取 商數
 3-2. 剩下的秒數,再計算 分鐘,只取 商數
 3-3. 最後就是剩餘的 秒數
成品
JS學習紀錄
此次重點在於
- 運用「map」
- 如何精進Sort的寫法
一、取得所有要計算時間的元素
| 1 | /* 1. 取得所有 data-time 的DOM元素,並轉換成 Array,以便可使用map..等method */ | 
二、計算出總秒數
| 1 | /* 2. 計算出總秒數 */ | 
三、.將 總秒數 計算成 時、分、秒 顯示
| 1 | /* 3. 將 總秒數 計算成 時、分、秒 顯示 */ | 
Array.map() 呼叫 function
作者在範例中,在Array.map()又Call Function,還可以再簡化寫法,
不過目前對我還不是很直覺可以寫出這種,先在此紀錄一下。
| 1 | const [mins, secs] = time.split(':').map( str => parseFloat(str)); | 
