你现在是一个前端领域专家,请帮我用 JavaScript 语言写一个函数,它需要实现:传入一个由括号组成的数组,判断是否有效
时间: 2024-04-16 20:26:58 浏览: 119
easy-calculator:一个简单的计算器的JS实现,未提供小数点及括号运算
当传入的数组中的括号是有效的时候,返回 true;否则返回 false。以下是用 JavaScript 实现的函数:
```javascript
function isValidParentheses(arr) {
const stack = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] === "(" || arr[i] === "[" || arr[i] === "{") {
stack.push(arr[i]);
} else {
if (
(arr[i] === ")" && stack[stack.length - 1] === "(") ||
(arr[i] === "]" && stack[stack.length - 1] === "[") ||
(arr[i] === "}" && stack[stack.length - 1] === "{")
) {
stack.pop();
} else {
return false;
}
}
}
return stack.length === 0;
}
```
这个函数使用了栈的数据结构来判断括号是否有效。遍历传入的数组,当遇到左括号时,将其入栈,当遇到右括号时,判断栈顶的左括号是否与之匹配,如果匹配则将栈顶的左括号出栈,否则返回 false。最后,如果栈为空,则说明括号是有效的,返回 true;否则返回 false。
阅读全文