利用 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)); |