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

Xác thực dấu ngoặc trong một chuỗi trong JavaScript

Chúng tôi bắt buộc phải viết một hàm JavaScript có trong một chuỗi có thể chứa một số dấu ngoặc mở và đóng. Hàm sẽ cho dù đối với tất cả các dấu ngoặc mở, có tồn tại một dấu ngoặc đóng hay không. Nếu các dấu ngoặc được khớp đúng, hàm sẽ trả về true, ngược lại là false.

Ví dụ -

f('(hello (world))') = true
f('(hello (world)') = false

Ví dụ

Sau đây là mã -

const str1 = '(hello (world))';
const str2 = '(hello (world)';
const validateBrackets = (str = '') => {
   const strArr = str.split('');
   let counter = 0;
   for (let i = 0, len = strArr.length; i < len; i++) {
      if (strArr[i] === "(") {
         counter++;
      }else if (strArr[i] === ")") {
         counter--;
      };
      if (counter < 0) {
         return false;
      };
   };
   if (counter === 0) {
      return true;
   };
   return false;
};
console.log(validateBrackets(str1));
console.log(validateBrackets(str2));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

true
false