Implementing Stacks & Queues
What common stack application is implemented by this function?
function isBalanced(expression) {
const stack = [];
const pairs = { '(': ')', '[': ']', '{': '}' };
for (let char of expression) {
if (char in pairs) {
stack.push(char);
} else if (Object.values(pairs).includes(char)) {
if (pairs[stack.pop()] !== char) return false;
}
}
return stack.length === 0;
}