Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa bình luận khỏi mảng chuỗi trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào mảng chuỗi arr làm đối số thứ nhất và mảng ký tự đặc biệt starters làm đối số thứ hai. Mảng starters chứa các ký tự có thể bắt đầu một bình luận. Hàm phải lặp qua mảng arr và xóa tất cả bình luận chứa trong các chuỗi.

Ví dụ, nếu đầu vào là:

const arr = ['red, green !blue', 'jasmine, #pink, cyan'];
const starters = ['!', '#'];

Thì đầu ra sẽ là:

const output = ['red, green', 'jasmine,'];

Ví dụ

Dưới đây là mã thực hiện:

const arr = ['red, green !blue', 'jasmine, #pink, cyan'];
const starters = ['!', '#'];
const removeComments = (arr = [], starters = []) => {
  const res = [];
  for (let i = 0; i < arr.length; i++) {
    let str = '';
    let flag = true;
    for (let x of arr[i]) {
      if (starters.includes(x)) {
        flag = false;
        str = str.replace(/\s+$/, '');
      } else if (x === '\n') {
        flag = true;
      }
      if (flag) str += x;
    }
    res.push(str);
  }
  return res;
};
console.log(removeComments(arr, starters));

Kết quả

Đầu ra trên console:

['red, green', 'jasmine,']