校验语法是否合规
let str = '{}}{][[]()()”“”()))}'
// 判断这个字符串括号闭合的语法有没有问题
let stack = []
let arr = str.split('')
for (let i = 0; i < arr.length; i++) {
let obj = {
key: arr[i], //字符串的值
sort: ['{', '[', '(', '“'].includes(arr[i]),//是否需在前
id: '{}[]()“”'.indexOf(arr[i])
}
if (stack.length > 0 && stack[stack.length - 1].key != obj.key && stack[stack.length - 1].id == obj.id - 1 && stack[stack.length - 1].sort) {
stack.pop()
} else {
stack.push(obj)
}
}
console.log(stack);
if (stack.length > 0) {
console.log('有问题');
} else {
console.log('没问题');
}