0Pricing
JavaScript Academy · Lesson

Locale-Aware Sorting

Sort strings correctly with Intl.Collator.

Why Default Sort Fails

Array sort() compares strings by UTF-16 code units. That puts uppercase before lowercase and mishandles accents — wrong for human-readable lists.

const words = ["banana", "Apple", "cherry"];
console.log([...words].sort()); // ["Apple","banana","cherry"] — capital wins

localeCompare

String.prototype.localeCompare compares two strings using locale rules, returning negative, zero, or positive.

console.log("apple".localeCompare("banana")); // -1
console.log("banana".localeCompare("apple")); // 1

All lessons in this course

  1. Formatting Numbers and Currency
  2. Formatting Dates and Times
  3. Relative Time and Plurals
  4. Locale-Aware Sorting
← Back to JavaScript Academy