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);