נבחנתי בבית והנבלות עדיין לא החזירו תשובה, 
אני לא הכי מנוסה ב JS
 לקח לי חצי שעה ללמוד מה צריך ולכתוב את האלגוריתם, עם טעויות סינטקס קטנות וטעות בהגדרת גבולות הלולאה, שתיקנתי יותר מאוחר,
בסה"כ חרגתי פי 2 מהזמן.
אבל יותר מענין אותי האם יש דרך אחרת יותר יעילה וקריאה יותר.
  צריך לכתוב פונקציה המקבלת string ומחזירה 1 אם הסוגריים בקלט מקוננים נכון ו- 0 אחרת.
דוגמאות : 
 You need to consider three kinds: (), [], <> and only these kinds.
 Examples:
    
verify("---(++++)----") -> 1
verify("") -> 1
verify("before ( middle []) after ") -> 1
verify(") (") -> 0
verify("} {") -> 1 //no, this is not a mistake.
verify("<(   >)") -> 0
verify("(  [  <>  ()  ]  <>  )") -> 1
verify("   (      [)") -> 0
	קוד HTML:
	function verify(text)
{
    var  stack =  new Array();
    var  myMap =  new Map();
    myMap.set('[' ,']');
    myMap.set('(',')');
    myMap.set( '<','>');
    myMap.set('”', '”');
    var regOpen   =  /[([<"]/ ;
    var regClose  = /[\)\]\>"]/ ;
    var length=  text.length-1;
    var textArr= text.split("");
    var pop;
    console.log(length);
    for (i=0;i<=length; i++ )
    {
       if( textArr[i].match(regOpen)  )
          stack.push(textArr[i]);
       else if( textArr[i].match(regClose)  )
       {
           pop =  myMap.get(stack.pop());
           if( pop!= textArr[i] )
               return 0;
       }
    }
    return (stack.length==0 ? 1:0);
}