function foo(s) {
for (let i = 0; i < s.length/2; i++) {
if (i !== s.length-i-1) {
s = s.substr(0,i).concat(
s[s.length-i-1],
s.slice(i+1, s.length-i-1),
s[i],
s.substring(s.length-i)
)
}
}
return s
}
console.log(foo('Leeroy Jenkins!!'))
https://jsfiddle.net/tfyfdbch/ console.log(
'Abcde'.replace(/[\s\S]/g, (a,b,c)=>c[--c.length-b])
)
https://jsfiddle.net/1mcLfbdh/ Ниже не используется дополнительная переменная, но...а как-же i, или она не в счет?