JSFiddle - React, Tailwind, and code Playground
by evgkch
JavaScript
function validate(text){
const dict = [
['(', ')'],
['[', ']'],
['{', '}'],
];
const stack = [];
for (let i = 0; i < text.length; i++)
{
const symb = text[i];
if (dict.some(template => template[0] == symb))
stack.push(symb);
if (dict.some(template => template[1] == symb))
{
if (dict.some(template => symb == template[1] &&
stack[stack.length - 1] == template[0]))
stack.pop();
else
return false;
}
}
return stack.length == 0;
}
console.log(
validate('{[()]}'),
validate('dfff{[sd()d]sd}'),
validate('dfff{[sd()d]sd'),
validate('dfff[sd()d]sd[{]'),
)