Есть массив где числа - это числа:
const str = ['A', 'C', 'B', 10, 1, 'E', 3, 'D', 5, 2, 4]
И сортировка:
str.sort((a, b) => a > b ? 1 : -1)
И есть массив где числа - это строки:
const str1 = ['A', 'C', 'B', '10', '1', 'E', '3', 'D', '5', '2', '4']
И сортировка:
str1.map(a => Number.isInteger(+a) ? +a : a).sort((a, b) => a > b ? 1 : -1)
При этом в первом варианте у нас сначала цифры потом буквы, во втором сначала буквы и потом цифры
Думал что это изза того что делается +a и там какой то другой тип, но
+'1' === 1