分享一道面试题:

编写一个balance函数,判断传入的字符串参数是不是一个平衡的字符串,所谓平衡的字符串就是: 'abc(hh)hh', 'abc{hh}hh', ''abc[hh]hh',字符串里的'(', '[', '{'都是成对出现的.下面是我的实现,欢迎大家分享你们的实现,期待看到编程思想的碰撞.😘


function balance(str) {
let tempArr = []
let obj = {
'{': '}',
'(': ')',
'[': ']'
}
for(let i of str) {
if(/\(|\[|\{/.test(i)) {
tempArr.push(i);
} else if(/\)|\]|\}/.test(i)) {
if(obj[tempArr[tempArr.length - 1]] === i) {
tempArr.pop()
} else {
return false
}
}
}
return !tempArr.length
}
展开
12