Intl.Collator

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

Experimente

Construtor

Intl.Collator() (en-US)

Cria um novo objeto Collator.

Métodos estáticos

Intl.Collator.supportedLocalesOf() (en-US)

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 (en-US)

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

Intl.Collator.prototype.resolvedOptions() (en-US)

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() (en-US) 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() (en-US) 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 Internationalization API Specification
# collator-objects

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também