ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของสตริง arr เป็นอาร์กิวเมนต์แรก และอาร์เรย์ของตัวอักษรพิเศษ starters เป็นอาร์กิวเมนต์ที่สอง
อาร์เรย์ starters ประกอบด้วยตัวอักษรที่สามารถเริ่มต้นคอมเมนต์ได้ ฟังก์ชันควรวนลูปผ่านอาร์เรย์ 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,' ]