Reverse Inside Parentheses (Inside Parentheses)

This commit is contained in:
2020-01-01 12:30:59 +01:00
parent 3011c25279
commit 07e3ce3302

View File

@@ -0,0 +1,18 @@
// https://www.codewars.com/kata/reverse-inside-parentheses-inside-parentheses/javascript
const reverseInParens = str => {
const rb = /[\[\]]/g;
const rm = /\([^\(\)]*\)/;
const mi = {'[':']', ']':'['};
const mc = {'[':'(', ']':')'};
let last;
while (last !== str) {
last = str;
str = str.replace(rm, s => {
s = s.substr(1, s.length-2).replace(rb, s => mi[s]);
return [']',...s,'['].reverse().join``;
});
}
str = str.replace(rb, s => mc[s]);
return str;
};