Я пытаюсь сравнить строки имени файла с localeCompare, но не могу настроить его, чтобы добиться желаемой сортировки.
Например, у меня есть список имен файлов
let names = ['pdf-test.pdf', 'pdf-test (1).pdf', 'pdf-test (2).pdf', 'pdf-test (9).pdf']
И я должен добавить 'pdf-test (8) .pdf' в этот список в правильном месте, то есть после
'pdf-test (2) .pdf'
Я использую следующее localeComapre:
names[i].localeCompare('pdf-test (8).pdf', 'en-US',
{caseFirst: 'lower', ignorePunctuation: false, numeric: true})
но для первого случая:
'pdf-test.pdf'.localeCompare('pdf-test (8).pdf', 'en-US',
{caseFirst: 'lower', ignorePunctuation: false, numeric: true})
Я получаю результат 1, что неправильно в моем случае
Когда я запускаю тот же скрипт, но без расширения файла, я получаю -1
'pdf-test'.localeCompare('pdf-test (8)', 'en-US',
{caseFirst: 'lower', ignorePunctuation: false, numeric: true})
Есть ли элегантный способ решить эту проблему. Похоже, «.extension», что запутывает сравнение?