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[{]'),
)