一、问题描述
验证字符串里的括号是否成对合法
二、代码实现
用reduce赋予初始值0。每次匹配到左括号则初始值加一,匹配到右括号就初始值减一,最终返回0的话就是字符串中的括号成对。
const bracketStr = '(())()(()())' //需要验证的字符串
const ifLegal = [...bracketStr].reduce(
(a, i) => i === '(' ? a + 1 : a - 1,
0
); //初始值为0,找到左括号加一右括号减一
console.log(ifLegal === 0) //最后输出0的话则括号成对