Computer >> Máy Tính >  >> Lập trình >> Javascript

Kiểm tra tính hợp lệ của dấu ngoặc đơn trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một chuỗi str chỉ chứa các ký tự -

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

Hàm của chúng ta sẽ xác định xem chuỗi đầu vào có hợp lệ không.

Chuỗi đầu vào hợp lệ nếu -

  • Dấu ngoặc mở phải được đóng bằng cùng một loại dấu ngoặc.

  • Dấu ngoặc mở phải được đóng theo đúng thứ tự.

Ví dụ -

  • "()" là một dấu ngoặc đơn hợp lệ

  • "() [] {}" là một dấu ngoặc đơn hợp lệ

  • "(]" là một dấu ngoặc đơn không hợp lệ

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

true
false