JSFiddle - React, Tailwind, and code Playground

by Nic Fontaine

JavaScript

/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
    const pairs = {
        "(": ")",
        "{": "}",
        "[": "]"
    };
    let i = 0;
    const len = s.length;
    s = s.split("");

    // Not even length
    if (len % 2 > 0) return false;

    var store = [];

    for (i; i<len; i++) {

        // Check if opening
        if (Object.keys(pairs).indexOf(s[i]) > -1) {
				console.log("opening");
            store.push(s[i]);
        }
        // Compare opening with store
        else if (pairs[store.pop()] !== s[i]) {
            return false;
        }
				console.log(store);

    }

    return store.length === 0;

};

console.log(isValid("()"));