javascript - 如何在 JavaScript 中对按顺序编号的文件进行排序?
问题描述
我有如下命名的文件:
X-1.pdf
X-2.pdf
X-3.pdf
.
.
.
X-15.pdf
按字符串值排序时,顺序如下:
X-1.pdf
X-10.pdf
X-11.pdf
.
.
.
假设这些文件存储在一个字符串数组中,我将如何对数组进行排序,以便文件以“预期”的方式出现,即
X-1.pdf
X-2.pdf
.
.
.
解决方案
您可以localeCompare
将numeric
选项设置为true
:
console.log(
['X-11.pdf',
'X-1.pdf',
'X-9.pdf',
'X-10.pdf',
'X-2.pdf',
].sort((a, b) => a.localeCompare(b, 'en', {numeric: true }))
)