Files
teaching-design/src/services/naturalSort.ts
2026-06-15 00:55:47 -06:00

13 lines
295 B
TypeScript

const filenameCollator = new Intl.Collator('zh-CN', {
numeric: true,
sensitivity: 'base',
})
export function sortFilesNaturally<T extends { name: string }>(
files: readonly T[],
): T[] {
return [...files].sort((left, right) =>
filenameCollator.compare(left.name, right.name),
)
}