Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

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

ปัญหา

เราต้องเขียนฟังก์ชัน 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,' ]