Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ตรวจสอบความถูกต้องของวงเล็บใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริง str ที่มีเพียงอักขระ -

'(', ')', '{', '}', '[' and ']'

ฟังก์ชันของเราควรตรวจสอบว่าสตริงอินพุตถูกต้องหรือไม่

สตริงอินพุตถูกต้องหาก −

  • วงเล็บเปิดต้องปิดด้วยวงเล็บประเภทเดียวกัน

  • ต้องปิดวงเล็บเปิดในลำดับที่ถูกต้อง

ตัวอย่างเช่น −

  • "()" เป็นวงเล็บที่ถูกต้อง

  • "()[]{}" เป็นวงเล็บที่ถูกต้อง

  • "(]" เป็นวงเล็บที่ไม่ถูกต้อง

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const str = "()[]{}";
const isValid = (str = '') => {
   const map=new Map();
   map.set('{','}');
   map.set('(',')');
   map.set('[',']');
   const b=[];
   for(let i=0;i<str.length;i++){
      if(map.has(str.charAt(i))){
         b.push(str.charAt(i));
      } else{
         let pop=b.pop();
         if(map.get(pop)!==str.charAt(i)){
            return false;
         }
      };
   };
   return b.length===0;
};
console.log(isValid(str));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

true
false