Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

Intl.Collator

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨setembro de 2017⁩.

O objeto Intl.Collator permite uma comparação de strings sensível à linguagem.

Experimente

console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("de").compare));
// Expected output: Array ["a", "ä", "z", "Z"]

console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("sv").compare));
// Expected output: Array ["a", "z", "Z", "ä"]

console.log(
  ["Z", "a", "z", "ä"].sort(
    new Intl.Collator("de", { caseFirst: "upper" }).compare,
  ),
);
// Expected output: Array ["a", "ä", "Z", "z"]

Construtor

Intl.Collator()

Cria um novo objeto Collator.

Métodos estáticos

Intl.Collator.supportedLocalesOf()

Retorna um array contendo as localizações (locales) providas que são suportados sem a necessidade de depender da localização padrão do runtime.

Métodos de instância

Intl.Collator.prototype.compare

Função Getter que compara duas strings conforme a ordenação deste objeto Intl.Collator.

Intl.Collator.prototype.resolvedOptions()

Retorna um novo objeto com as propriedades que refletem as opções de localização (locale) e agrupamento (collation) computadas durante a inicialização do objeto.

Exemplos

Usando Collator

O exemplo a seguir demonstra os diferentes potenciais resultados para uma string que aparece antes, depois, ou no mesmo nível que outra:

js
console.log(new Intl.Collator().compare("a", "c")); // -1, ou algum outro valor negativo
console.log(new Intl.Collator().compare("c", "a")); // 1, ou algum outro valor positivo
console.log(new Intl.Collator().compare("a", "a")); // 0

É importante notar que os resultados mostrados no código acima podem variar entre navegadores e versões de navegadores. Isso por os valores serem específicos a implementação. Isso ocorre, pois a implementação define somente que os valores para antes e depois sejam negativo e positivo.

Usando localizações

Os resultados retornados por Intl.Collator.prototype.compare() variam entre linguagens. Para obter a sequência de ordenação da linguagem usada na interface da sua aplicação, garanta a especificação desta linguagem (e possivelmente algumas linguagens reserva) usando o argumento locales:

js
// Em alemão, ä está no mesmo nível de a
console.log(new Intl.Collator("de").compare("ä", "z"));
// -1, ou algum outro valor negativo

// Em Sueco, ä vem depois de z
console.log(new Intl.Collator("sv").compare("ä", "z"));
// 1, ou algum outro valor positivo

Usando opções

Os resultados retornados por Intl.Collator.prototype.compare() podem ser customizados usando o argumento options:

js
// Em Alemão, ä tem a como sua letra base
console.log(new Intl.Collator("de", { sensitivity: "base" }).compare("ä", "a"));
// 0

// Em Sueco, ä e a são letras base separadas
console.log(new Intl.Collator("sv", { sensitivity: "base" }).compare("ä", "a"));
// 1, ou algum outro valor positivo

Especificações

Specification
ECMAScript® 2026 Internationalization API Specification
# collator-objects

Compatibilidade com navegadores

Veja também