Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

182
Visualizações
¿Cómo puedo ordenar un objeto alfabéticamente por valor?

Así que tengo una lista de países, por defecto vienen ordenados por código ISOA2, que es una especie de código de país.

Di esta lista:

 { "AD": "Andorra", "AE": "United Arab Emirates", "AF": "Afghanistan", "AG": "Antigua and Barbuda", "AI": "Anguilla", "AL": "Albania", "AM": "Armenia", "AN": "Netherlands Antilles", "GB": "United Kingdom" }

Y tengo este código:

 function sortObject(obj) { return Object .keys(obj) .sort() .reduce((a, v) => { a[v] = obj[v]; return a; }, {}); } // data is the list of countries const result = sortObject(data);

Estoy tratando de ordenarlo con ese código, pero siempre devuelve la misma lista.

Necesito que la lista sea así:

 { "AF": "Afghanistan", "AL": "Albania", "AD": "Andorra", "AI": "Anguilla", "AG": "Antigua and Barbuda", "AM": "Armenia", "AN": "Netherlands Antilles", "AE": "United Arab Emirates", "GB": "United Kingdom" }

¿Qué estoy haciendo mal?

Puedes jugar aquí:

https://codesandbox.io/s/js-playground-bifurcado-xk005?file=/src/index.js

Verás el resultado en la consola.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Tome Object.entries por valor, luego use Object.fromEntries para convertir esta matriz de pares clave-valor nuevamente en un objeto:

 Object.fromEntries( Object.entries(obj) .sort(([keyA, valueA], [keyB, valueB]) => valueA.localeCompare(valueB)) )

Tenga en cuenta que ordenar objetos no tiene sentido si hay claves numéricas o si el objeto está mutado (ya que eso cambia el orden de clasificación nuevamente).

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Te funciona esto?

 function sortObject(obj) { return Object.fromEntries(Object .entries(obj) .sort((a,b)=>a[1].localeCompare(b[1]))); } const data = { "AD": "Andorra", "AE": "United Arab Emirates", "AF": "Afghanistan", "AG": "Antigua and Barbuda", "AI": "Anguilla", "AL": "Albania", "AM": "Armenia", "AN": "Netherlands Antilles", "GB": "United Kingdom" } // data is the list of countries const result = sortObject(data); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Prueba esto para ordenar:

 const sortObject = obj => { const ret = {} Object.values(obj) .sort() .forEach(val => { const key = Object.keys(obj).find(key => obj[key] === val) ret[key] = val }) return ret }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda