Я не уверен, что я просто неправильно форматирую что-то, неправильно понимаю поведение localeCompare
или эта функция на самом деле не работает, но кажется, что она плохо обрабатывает числа с разными числами.
"0.75".localeCompare("0.5555", undefined, {numeric: true})
Возвращает -1
, но я ожидаю, что он вернет 1
.
Кажется, что под капотом эта функция вызывает parseInt
или что-то в этом роде и не надежно обрабатывает десятичные значения.