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