ZeroOne 繁體中文技術部落格
JavaScript reduce 空陣列錯誤:初始值與 filter 後的資料契約
2026-10-21
JavaScript reduce 在空陣列報錯,常出現在 filter 把資料全部移除之後。本文用可執行案例說明 initialValue、單筆資料不呼叫 callback、稀疏陣列與數字字串的差異,並區分總和可回傳零、平均值應回傳無資料,避免用 catch 掩蓋資料問題。
986 字
|
5 分鐘
JavaScript sort 排序不正確:比較函式別只回傳布林值
2026-10-21
JavaScript sort 用 a > b 當比較函式,可能讓數列沒有正確排序。本文區分三向比較、預設字串順序與數字資料驗證,提供同分穩定順序、NaN 拒絕、toSorted 與淺複製的可執行檢查,避免排序時改動原始陣列或誤以為物件也已複製。
1095 字
|
5 分鐘
Vue 3 外部插件資料變了,畫面沒更新?用 toRaw 釐清原因
2026-10-21
外部插件明明已經寫入新資料,Vue 3 畫面卻停在舊狀態?本文以主站與獨立資訊面板為例,解釋兩份 Vue runtime 為何無法共用響應式追蹤、toRaw 如何取回原始物件,以及交接資料時必須注意的共享參照、巢狀 proxy 與更新責任。
2291 字
|
11 分鐘
IntersectionObserver 無限捲動重複請求?先鎖定載入與分頁狀態
2026-10-20
IntersectionObserver callback 不只在手動捲動時執行,也可能帶入多筆 entry。本文用可測試的分頁載入器處理重複通知、失敗重試、cursor 不前進與卸載取消,並保留載入更多按鈕,避免無限捲動把 API 叫出重複資料。
1209 字
|
6 分鐘
addEventListener 重複觸發怎麼修?用 AbortController 管理事件生命週期
2026-10-20
元件重掛或 SPA 換頁後,一次點擊卻觸發多次 handler,先檢查初始化是否建立新的 callback。本文用 AbortController 管理同一批事件,示範可重複掛載的清理函式、已取消 signal 的限制,以及 once 與 removeEventListener 的差別。
1090 字
|
5 分鐘
JavaScript 日期差一天?用 Intl.DateTimeFormat 分開語系與時區
2026-10-20
JavaScript 在伺服器與瀏覽器顯示不同日期,先確認輸入是時間點、純日期還是未含時區的時間。本文以 Intl.DateTimeFormat 指定 Asia/Taipei,用 formatToParts 取得日期鍵,並示範跨日、夏令時間與 SSR 顯示一致性的檢查。
1138 字
|
6 分鐘
Rota 1.1 怎麼串 Claude Code 與 Codex?卡片終端機與交接驗收
2026-10-20
Rota 1.1.0 把 Claude Code 與 Codex 的終端機綁到卡片,協助追蹤規格、實作與人工驗收。本文整理首次 hooks 整合、舊版升級、Session 取代與自動更新的中斷邊界,提供小型專案的交接測試,避免把看板完成當成程式已驗證。
1396 字
|
7 分鐘
DeepSeek Search/Fetch API:搜尋後何時需要再抓正文?
2026-10-19
DeepSeek Search/Fetch API 可讓 Agent 搜尋網頁並取得 Markdown,但搜尋摘要、正文與抓取失敗要分開處理。本文提供請求格式、依來源去重與缺正文才補抓的離線測試,說明計費及重試邊界,避免每個搜尋結果都再呼叫一次 Fetch。
1422 字
|
7 分鐘