JSFiddle - React, Tailwind, and code Playground

by Sergei Sokolov

JavaScript

/**
 * для вопроса https://qna.habr.com/q/928877
 * Как отсортировать часть массива?
 */
const arr1 = [2, "No", 6, 8, "", 1, "No", "", 10];
const arr2 = ["aaa", 2, "No", 6, 8, "", 1, "No", "", 10, "zzz", "xxx"];


const numSort = (arr) => arr.reduce(
  (acc, c, i) => {
    if (Number.isFinite(c)) arr.splice(i, 1, acc.shift());
    return acc.length ? acc : arr;
  },
  arr.filter((el) => Number.isFinite(el)).sort((a, b) => b - a)
);


const result = numSort(arr2);
const out = document.createElement('textarea');
out.cols = 50;
out.value = JSON.stringify(result);
document.body.appendChild(out);