JSFiddle - React, Tailwind, and code Playground
by bhupendra negi
JavaScript
// bracket validator
// [(())[]
function isBalanced(code) {
const bracketsMatched = {
'(': ')',
'{': '}',
'[': ']'
};
const leftBracket = new Set(['(','{','[']) ,
rightBracket = new Set([')','}',']']);
const leftBracketStack =[];
for (let i =0 ;i<code.length;i++) {
let char = code.charAt(i);
if (leftBracket.has(char)) {
leftBracketStack.push(char);
}
else if (rightBracket.has(char)) {
if (!leftBracketStack) return false;
let lastBracketInStack = leftBracketStack.pop();
if (bracketsMatched[lastBracketInStack] !== char) {
return false;
}
}
}
return leftBracketStack.length === 0;
}
const re = isBalanced(')({[]})');
console.log(re);