首页 > 解决方案 > 如何在 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
.
.
.

标签: javascript

解决方案


您可以localeComparenumeric选项设置为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 }))
)


推荐阅读