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

214
Visualizações
How to order by ascending and descending JSON with a condition in lodash or javascript

I want to sort by ascending and descending order of the array of object below using javascript or lodash. The conditions are below:

  1. This array will have objects with duplicate id
  2. I want to sort the array based on 'name' and get the unique 'number' fields in an array based on the 'name' sort with a specific 'id'.

This is the data.

var data = [
  { id: 1, age: 36, name: 'ram', number: 11},
  { id: 2,  age: 40, name: 'sam', number: 11 },
  { id: 3, age: 37, name: 'roy', number: 11 },
  { id: 1, age: 41, name: 'fil', number: 12 },
  { id: 2,  age: 43, name: 'joy', number: 12 },
  { id: 3, age: 46, name: 'john', number: 12 }
]

Expected output when sorting based on name when id='1' and in ascending order:

[12,11]

Expected output when sorting based on name when id='2' and in descending order:

[11,12]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

You need to split up your problem:

  1. filter the array on id === x;
  2. sort the resulting array;
  3. map the resulting values so you only extract the number:

var data = [
  { id: 1, age: 36, name: 'ram', number: 11},
  { id: 2,  age: 40, name: 'sam', number: 11 },
  { id: 3, age: 37, name: 'roy', number: 11 },
  { id: 1, age: 41, name: 'fil', number: 12 },
  { id: 2,  age: 43, name: 'joy', number: 12 },
  { id: 3, age: 46, name: 'john', number: 12 }
]

const id = 1;
const result = data
  .filter(row => row.id === id)
  .sort((a, b) => a.name.localeCompare(b.name))
  .map(row => row.number);
  
console.log(result);

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