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

Cắt bỏ '?' từ các chuỗi trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một chuỗi làm đối số duy nhất. Chuỗi có thể chứa dấu chấm hỏi (?) Ở đầu và cuối. Hàm nên loại bỏ tất cả các dấu chấm hỏi này ngay từ đầu và cuối cùng giữ nguyên mọi thứ khác.

Ví dụ -

Nếu chuỗi đầu vào là -

const str = '??this is a ? string?';

Sau đó, đầu ra phải là -

const output = 'this is a ? string';

Ví dụ

Sau đây là mã -

const str = '??this is a ? string?';
const specialTrim = (str = '', char = '?') => {
   str = str.trim();
   let countChars = orientation => {
      let inner = (orientation == "left")? str :
      str.split("").reverse().join("");
      let count = 0;
      for (let i = 0, len = inner.length; i < len; i++) {
         if (inner[i] !== char) {
            break;
         };
         count++;
      };
      return (orientation == "left")? count : (-count);
   };
   const condition = typeof char === 'string' && str.indexOf(char) === 0 && str.lastIndexOf(char, -1) === 0;
   if (condition) {
      str = str.slice(countChars("left"), countChars("right")).trim();
   };
   return str;
}
console.log(specialTrim(str));

Đầu ra

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

this is a ? string