正在準備工作環境...
去重與分組統計
Set:快速去除重複值。reduce:把陣列彙總成物件,適合做分組計數或加總。Object.entries:把物件轉回陣列,方便再排序或輸出。
小節:去掉重複客戶 email
小節:分組計算每個城市的訂單數
AI 協作:學了這個,跟 AI 怎麼配合?
去重和分組是做報表的基本功。AI 寫邏輯,但「怎麼定義重複、怎麼分組」你說了算。
你的人類優勢:
- 你定義「重複」的標準:名字一樣算重複?還是 email 一樣才算?
- 你知道分組維度:按客戶、按日期、按類別
可以這樣跟 AI 說:
這份客戶清單有重複的 email,幫我去重(保留最新那筆),然後按城市分組統計人數。
練習題
Capstone:綜合練習
互動示範
DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
挑戰任務
Task 1
用 Set 去除陣列 ['A','B','A','C'] 的重複,用 join(',') 串接後印出
Task 2
把訂單陣列 [{city:'Taipei',amount:500},{city:'Taipei',amount:300},{city:'Tainan',amount:200}] 分組加總金額,輸出物件 {Taipei:800,Tainan:200}
Task 3
將分組結果 {Taipei:2,Taichung:1} 用 Object.entries 轉成陣列並逐行印出 '城市:數量'
Task 4
給定訂單陣列 [{sku:'A',qty:2,price:100},{sku:'B',qty:1,price:300},{sku:'A',qty:3,price:100},{sku:'B',qty:2,price:300}],用 reduce 計算每個 sku 的總金額(qty*price),再用 Object.entries + sort 找出金額最高的 sku 並印出
Task 5
給定 CSV 字串 'name,city\nAmy,Taipei\nBob,Tainan\nCarol,Taipei\nDave,Tainan',用 split + map 解析成物件陣列,再用 reduce 按 city 分組統計人數,印出結果
← BackTake the Exam →