在JavaScript中验证字符串中的括号

我们需要编写一个JavaScript函数,该函数接受一个可能包含一些左括号和右括号的字符串。该函数应该为所有的右括号都存在一个右括号。如果方括号正确匹配,则该函数应返回true,否则返回false。

例如-

f('(hello (world))') = true
f('(hello (world)') = false

示例

以下是代码-

const str1 = '(hello (world))';
const str2 = '(hello (world)';
const validateBrackets = (str = '') => {
   const strArr = str.split('');
   let counter = 0;
   for (let i = 0, len = strArr.length; i < len; i++) {
      if (strArr[i] === "(") {
         counter++;
      }else if (strArr[i] === ")") {
         counter--;
      };
      if (counter < 0) {
         return false;
      };
   };
   if (counter === 0) {
      return true;
   };
   return false;
};
console.log(validateBrackets(str1));
console.log(validateBrackets(str2));

输出结果

以下是控制台上的输出-

true
false