Sobes.tech
Junior

¿Cómo ordenar solo los números impares en un array?

sobes.tech AI

Respuesta de la IA

  1. Отфильтровать массив, оставив только нечетные числа.
  2. Отсортировать полученный массив нечетных чисел.
  3. Пройтись по исходному массиву и заменить нечетные числа на отсортированные, сохраняя их изначальные позиции.
// Исходный массив
const arr = [5, 2, 8, 1, 4, 7, 6, 3, 9];

// Отфильтровать и отсортировать нечетные числа
const oddSorted = arr.filter(num => num % 2 !== 0).sort((a, b) => a - b);

// Создать новый массив, заменяя нечетные числа отсортированными
let oddIndex = 0;
const sortedArr = arr.map(num => {
  if (num % 2 !== 0) {
    return oddSorted[oddIndex++];
  }
  return num;
});

// sortedArr будет [1, 2, 3, 8, 4, 5, 6, 7, 9]