创建一个函数来判断给定的表达式中的大括号是否闭合。
var expression = "{{}}{}{}"var expressionFalse = "{}{{}";isBalanced(expression); // trueisBalanced(expressionFalse); // falseisBalanced(""); // true
示例:
function isBalanced(expression) { var checkString = expression; var stack = [];
// If empty, parentheses are technically balanced if (checkString.length <= 0) return true;
for (var i = 0; i < checkString.length; i++) { if (checkString[i] === '{') { stack.push(checkString[i]); } else if (checkString[i] === '}') { // Pop on an empty array is undefined if (stack.length > 0) { stack.pop(); } else { return false; } } }
// If the array is not empty, it is not balanced if (stack.pop()) return false; return true;}