Change Content - Javascript
Change html element content using pure javascript
author(s):
Deepu Mohan Puthrote (WarFox)
by Kumar Sidharth
HTML
<div id="myelement">Old Text</div>
JavaScript
var input = "[{(()}]";
var bracketTypes = {
paranthesis: {
open: '(',
close: ')'
},
curly: {
open: '{',
close: '}'
},
square:{
open: '[',
close: ']'
},
}
function checkBrackets(inputBrackets) {
var stack = [];
for(let i = 0; i< inputBrackets.length; i++) {
if(inputBrackets[i] === bracketTypes.paranthesis.open ||
inputBrackets[i] === bracketTypes.curly.open ||
inputBrackets[i] === bracketTypes.square.open) {
stack.push(inputBrackets[i]);
continue;
}
if(inputBrackets[i] === bracketTypes.paranthesis.close ||
inputBrackets[i] === bracketTypes.curly.close ||
inputBrackets[i] === bracketTypes.square.close) {
if(getOtherBracket(stack[stack.length-1]) === inputBrackets[i]) {
stack.pop();
continue;
} else {
inputBrackets = [
...inputBrackets.slice(0,i),
getOtherBracket(inputBrackets[i]),
...inputBrackets.slice(i+1, inputBrackets.length)
].join('');
return checkBrackets(inputBrackets);
}
}
}
return inputBrackets;
}
function getOtherBracket(bracket) {
switch(bracket) {
case '(' : return bracketTypes.paranthesis.close;
case ')' : return bracketTypes.paranthesis.open;
case '{' : return bracketTypes.curly.close;
case '}' : return bracketTypes.curly.open;
case '[' : return bracketTypes.square.open;
case ']' : return bracketTypes.square.close;
}
}
checkBrackets(input);