Sobes.tech
Junior

Comment trier uniquement les nombres impairs dans un tableau?

sobes.tech IA

Réponse de l'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]