在處理陣列物件時常會遇到需要排序陣列的問題,而用sort 得搭配 reduce,寫法醜、不好閱讀。
所以就詢問看看AI有何通用套件在大的專案裡常用。
目前是Lodash(最常用),閱讀起來也很直觀。
目前有三種
- Lodash(最常用)
Lodash安裝
1 | npm install lodash |
單屬性排序.ts
1 | import _ from "lodash"; |
多屬性排序.ts
1 | const multiSort = _.orderBy(users, ["age", "name"], ["asc", "desc"]); |
- Remeda(型別安全版 Lodash)
安裝remeda
1 | npm install remeda |
1 | import { sortBy } from "remeda"; |
3.內建(ES2023 新增,原生) toSorted
但是寫法還是有點不好閱讀,多排的時候
1 | const byAge = users.toSorted((a, b) => a.age - b.age); |