function reverse_middle_N_characters(str, N) {
if (N <= 0 || N > str.length) {
return str;
}
const start = Math.floor((str.length - N) / 2);
const end = start + N;
const beforeMiddle = str.slice(0, start);
const middle = str.slice(start, end).split('').reverse().join('');
const afterMiddle = str.slice(end);
return beforeMiddle + middle + afterMiddle;
}
let s = "abCDEFgh";
const N = 4;
console.log(reverse_middle_N_characters(s, N));
/*
run:
abFEDCgh
*/