Использование только sort
и reverse
a
> Z
, что неправильно, если вы хотите заказать строчные и прописные строки:
var arr = ["a","b","c","A","B","Z"];
arr.sort().reverse();
console.log(arr)//<-- [ 'c', 'b', 'a', 'Z', 'B', 'A' ] wrong!!!
Английские символы
var arr = ["a","b","c","A","B","Z"];
arr.sort((a,b)=>b.localeCompare(a))
console.log(arr)
Специальные символы, использующие locales , в данном примере es (испанский)
var arr = ["a", "á", "b","c","A","Á","B","Z"];
arr.sort((a, b) => b.localeCompare(a, 'es', {sensitivity: 'base'}))
console.log(arr)
чувствительность в этом случае составляет base :
Только строки, отличающиеся базовыми буквами, сравниваются как неравные.Примеры: a ≠ b, a = á, a = A.