¿Por qué el uso de Intl.Collator con la opción de sensitivity de 'case' (es decir, la sensibilidad de mayúsculas y minúsculas está activada) da como resultado que aa venga antes que AA ?
Cuando se usa array.sort() nativo, el orden es el esperado.
const caseSensitiveCollator = new Intl.Collator('en', { sensitivity: 'case' }); const initialData = ['AA', 'aa', 'ab', 'AB', 'ZA', 'zz']; console.log('Before: ', initialData); let data = initialData.concat(); data.sort(caseSensitiveCollator.compare); console.log('After SENSITIVE', data); // I expect ['AA', 'AB', 'ZA', 'aa', 'ab', 'zz'] data = initialData.concat().sort(); console.log('Native Array Sort', data);