JSFiddle - React, Tailwind, and code Playground

by Alexander

HTML

Напишите программу, которая бы проверяла бы корректность расставленных в строке фигурных скобок.
Например, такая последовательность: "{ … { … } … { … { … } … } … }", является корректной,
а такая: "{ … { … } { … { … } … }", нет.

JavaScript

console.clear();

var Validator = {

        run: function (str) {

            var counter = 0,
                result = false;

            if (str.length < 1) return result;

            result = str.split("").some(function (char) {

                if (char == "{") {
                    counter++;
                } else if (char == "}") {
                    counter--;
                }

                if (counter < 0) {
                    return true;
                }
            });

//console.warn(counter, result);
            return (counter == 0 && !result);
        }
    };

console.log(Validator.run("") == false); // тест не пройден
console.log(Validator.run("}{") == false);
console.log(Validator.run("}") == false);
console.log(Validator.run("{") == false);
console.log(Validator.run("{ … { … } … { … { … } … } … }") == true);
console.log(Validator.run("{ … { … } … { … { … } … }") == false);