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

185
Visualizações
sort a javascript object by key : '10' is before '05'

I'm using the following function to sort an object by keys.

The problem is when I have to sort '05' and '10', the '10' is sorted before the '05'

function sortObj(obj) {
  return Object.keys(obj).sort().reduce(function(result, key) {
    result[key] = obj[key];
    return result;
  }, {});
}

let list = {
  '10': "Ann",
  '05': 75
};
let arr = sortObj(list);
console.log(arr);

Object { "10": 75, "05": "Ann" }

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

0

Javascript objects are not ordered by insertion order. To demonstrate, change .sort() to .reverse()

Does JavaScript guarantee object property order?

Seems like you can use a map: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Objects_and_maps_compared

about 4 years ago · Juan Pablo Isaza Relatório

0

Ordering an object makes little sense, because objects don't concern itself about the order it is as you access it's values by a key.

Though you can store your data in a Map which has a key-value structure that honors it's order of insertion.

function sortObj(obj) {
  return new Map(
    Object.entries(obj).sort(([a], [b]) => {
      return a - b;
    })
  );
}

let list = {
  '11': 'Beth',
  '10': "Ann",
  '05': 75,
  '07': true
};

let map = sortObj(list);
for (const [key, value] of map) {
  console.log(key, value);
}

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