Reverse Inside Parentheses (Inside Parentheses)
This commit is contained in:
18
reverse-inside-parentheses-inside-parentheses/index.js
Normal file
18
reverse-inside-parentheses-inside-parentheses/index.js
Normal 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;
|
||||
};
|
||||
Reference in New Issue
Block a user