Sobes.tech
Junior

Kaip surūšiuoti tik nelyginius skaičius masyve?

sobes.tech AI

Atsakymas iš 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]