Sobes.tech
Junior

Como ordenar apenas os números ímpares num array?

sobes.tech IA

Resposta da IA

  1. Filtrar o array, deixando apenas os números ímpares.
  2. Ordenar o array resultante de números ímpares.
  3. Percorrer o array original e substituir os números ímpares pelos ordenados, mantendo as suas posições iniciais.
// Array original
const arr = [5, 2, 8, 1, 4, 7, 6, 3, 9];

// Filtrar e ordenar os números ímpares
const oddSorted = arr.filter(num => num % 2 !== 0).sort((a, b) => a - b);

// Criar um novo array substituindo os números ímpares pelos ordenados
let oddIndex = 0;
const sortedArr = arr.map(num => {
  if (num % 2 !== 0) {
    return oddSorted[oddIndex++];
  }
  return num;
});

// sortedArr será [1, 2, 3, 8, 4, 5, 6, 7, 9]