Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function checkBracesPairs(src = '') {
- const openBraceList = '({[<'.split('')
- const findOpenBrace = closeBrace => {
- if (closeBrace === ')') return '('
- if (closeBrace === ']') return '['
- if (closeBrace === '}') return '{'
- if (closeBrace === '>') return '<'
- }
- const isOpenBrace = ch => openBraceList.includes(ch)
- const srcAsArray = src.split(' ').join('').split('')
- const history = []
- for (let i = 0; i < srcAsArray.length; i++) {
- const ch = srcAsArray[i]
- if (isOpenBrace(ch)) {
- history.push(ch)
- } else {
- const lastBrace = history.pop()
- if (findOpenBrace(ch) !== lastBrace) {
- console.log('-')
- return false
- }
- }
- }
- console.log(history.length === 0 ? '+' : '-')
- return history.length === 0
- }
- const src01 = '<<>>' // +
- const src02 = '><<>' // -
- const src03 = '<<<>>' // -
- const src1 = '<<(<>>' // -
- const src2 = '(){}[]<>' // +
- const src3 = '<<(<>)>>' // +
- const src4 = '<<(<)>>>' // -
- const src5 = ' ( { ) } ' // -
- const src6 = ' ( { } ) ' // +
- checkBracesPairs(src01)
- checkBracesPairs(src02)
- checkBracesPairs(src03)
- checkBracesPairs(src1)
- checkBracesPairs(src2)
- checkBracesPairs(src3)
- checkBracesPairs(src4)
- checkBracesPairs(src5)
- checkBracesPairs(src6)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement