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

การลบความคิดเห็นจากอาร์เรย์ของสตริงใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของสตริง arr เป็นอาร์กิวเมนต์แรก และอาร์เรย์ของอักขระพิเศษ สตาร์ทเตอร์ เป็นอาร์กิวเมนต์ที่สอง

อาร์เรย์เริ่มต้นประกอบด้วยอักขระที่สามารถเริ่มความคิดเห็นได้ ฟังก์ชันของเราควรทำซ้ำผ่านอาร์เรย์ arr และลบความคิดเห็นทั้งหมดที่อยู่ในสตริงออก

ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ:

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

จากนั้นผลลัพธ์ควรเป็น −

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

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

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