--- title: Balanced brackets id: 594dc6c729e5700999302b45 localeTitle: 594dc6c729e5700999302b45 challengeType: 5 --- ## Description

Determine si una cadena generada de corchetes está equilibrada; es decir, si consiste completamente en pares de paréntesis de apertura / cierre (en ese orden), ninguno de los cuales se equivoca.

Ejemplos:

(vacío) verdadero

[] verdadero

][ falso

[][] verdadero

][][ falso

[]][[] falso

[[[[]]]] verdadero

## Instructions
## Tests
```yml tests: - text: isBalanced es una función. testString: 'assert(typeof isBalanced === "function", "isBalanced is a function.");' - text: ' isBalanced("[]") debe devolver verdadero.' testString: 'assert(isBalanced(testCases[0]), "isBalanced("[]") should return true.");' - text: ' isBalanced("]][[[][][][]][") debe devolver falso.' testString: 'assert(!isBalanced(testCases[1]), "isBalanced("]][[[][][][]][") should return false.");' - text: ' isBalanced("[][[[[][][[[]]]]]]") debe devolver verdadero). testString: 'assert(isBalanced(testCases[2]), "isBalanced("[][[[[][][[[]]]]]]") should return true.");' - text: ' isBalanced("][") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[3]), "isBalanced("][") should return true.");' - text: ' isBalanced("[[[]]]][[]") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[4]), "isBalanced("[[[]]]][[]") should return true.");' - text: ' isBalanced("][[]") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[5]), "isBalanced("][[]") should return true.");' - text: ' isBalanced("][[][]][[[]]") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[6]), "isBalanced("][[][]][[[]]") should return true.");' - text: ' isBalanced("[[][]]][") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[7]), "isBalanced("[[][]]][") should return true.");' - text: ' isBalanced("[[[]]][[]]]][][[") debería devolver true.' testString: 'assert(!isBalanced(testCases[8]), "isBalanced("[[[]]][[]]]][][[") should return true.");' - text: ' isBalanced("[]][[]]][[[[][]]") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[9]), "isBalanced("[]][[]]][[[[][]]") should return true.");' - text: ' isBalanced("][]][[][") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[10]), "isBalanced("][]][[][") should return true.");' - text: ' isBalanced("[[]][[][]]") debe devolver verdadero.' testString: 'assert(isBalanced(testCases[11]), "isBalanced("[[]][[][]]") should return true.");' - text: ' isBalanced("[[]]") debe devolver verdadero.' testString: 'assert(isBalanced(testCases[12]), "isBalanced("[[]]") should return true.");' - text: ' isBalanced("]][]][[]][[[") debe devolver verdadero ". testString: 'assert(!isBalanced(testCases[13]), "isBalanced("]][]][[]][[[") should return true.");' - text: ' isBalanced("][]][][[") debería devolver verdadero.' testString: 'assert(!isBalanced(testCases[14]), "isBalanced("][]][][[") should return true.");' - text: ' isBalanced("][][") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[15]), "isBalanced("][][") should return true.");' - text: ' isBalanced("[[]]][][][[]][") debe devolver verdadero.' testString: 'assert(!isBalanced(testCases[16]), "isBalanced("[[]]][][][[]][") should return true.");' - text: isBalanced("") debe devolver true. testString: 'assert(isBalanced(testCases[17]), "isBalanced("") should return true.");' ```
## Challenge Seed
```js function isBalanced (str) { // Good luck! return true; } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js function isBalanced (str) { if (str === ") return true; let a = str; let b; do { b = a; a = a.replace(/\[\]/g, "); } while (a !== b); return !a; } ```