使用js有效括号匹配封装函数
1.uniapp微信小程序uni.request捕获500异常2.uniapp兼容问题3.推荐两个好玩的轻提示4.不够完美但也很能打的5.uniapp实现刷新页面保留参数页面不报错的情况6.关于ESLint: Delete `␍`(prettier/prettier) 错误解决方案(3种)7.loading8.关于设备像素比9.js前端去除HTML标签返回纯字符串正则/<[^>]*>/g10.Js中valueOf和toString区别和使用11.vscode关于json文件添加注释报错处理
12.使用js有效括号匹配封装函数
13.单项数据流和双向数据绑定的原理,区别14.CSRF(跨站请求伪造)原理:15.记录一下现网微信小程序版本ios手机极个别手机关于登录api(别的没试过)不调用的问题,其他的ios可以正常唯独极个别的ios不可以16.uniapp实现多行文本溢出超过指定行数 展开 收起17.uniapp开发抖音小程序跳转18.css滚动吸附19.promise(A).catch(f1).then(f2),f1执行后f2回执行吗,为什么20.国际化怎么做,中文一个字,阿拉伯语很长一串,怎么实现样式的一致21.页面切换保存怎么实现数据不丢失且记忆滚动条位置,常规的方案会闪一下,不如原生性能,怎么解决22.nuxtjs锁函数封装23.css样式让元素得宽度由内容撑开24.watch vs. watchEffect25.HEIC26.Intersection Observer API 是浏览器原生提供的,用于异步检测目标元素与视口或父元素是否产生交叉。它的优势在于提高性能和简化代码实现。27.backdrop-filter(纯CSS实现丝滑边框线条动画)28.js中try中定义的数据catch无法访问29.自动化脚本同步单个平台所有小程序(本质跨平台uniapp但是业务紧急,按需使用)30.前端资源提示符31.微信小程序授权弹框32.关于高度从0到auto的过渡效果33.split使用注意点34.js之连续赋值35.border和outline的区别点击查看代码
function isValidParentheses(str) {
// 定义一个栈,用于存储待匹配的左括号
let stack = [];
// 定义一个对象,用于快速判断括号是否成对
const pairs = { ')': '(', '}': '{', ']': '[' };
// 遍历输入字符串
for (let char of str) {
// 如果是左括号,将其压入栈中
if (Object.values(pairs).includes(char)) {
stack.push(char);
}
// 如果是右括号
else if (Object.keys(pairs).includes(char)) {
// 如果栈为空,说明没有匹配的左括号,返回false
if (stack.length === 0) return false;
// 弹出栈顶元素,查看是否与当前右括号匹配
let top = stack.pop();
if (pairs[char] !== top) {
// 不匹配,返回false
return false;
}
}
// 如果字符既不是左括号也不是右括号,直接忽略或根据需求处理
else {
// 这里假设输入只包含括号,不做特殊处理
}
}
// 如果遍历完字符串后栈为空,说明所有括号都已正确匹配,返回true;否则返回false
return stack.length === 0;
}
// 测试代码
console.log(isValidParentheses("()[]{}")); // 应该输出 true
console.log(isValidParentheses("(]")); // 应该输出 false
console.log(isValidParentheses("([)]")); // 应该输出 false
console.log(isValidParentheses("{[]}")); // 应该输出 true
本文来自博客园,作者:jialiangzai,转载请注明原文链接:https://www.cnblogs.com/zsnhweb/p/18186167
合集:
bjjc奇奇怪怪bug
分类:
FE前端学习知识点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)