Sobes.tech
Junior

Hoe sorteer je alleen de oneven nummers in een array?

sobes.tech AI

Antwoord van AI

  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]