从 JavaScript 中的字符串数组中删除注释
问题
我们需要编写一个JavaScript函数,它接受字符串数组arr作为第一个参数和一个特殊字符数组starters作为第二个参数。
starter数组包含可以开始注释的字符。我们的函数应该遍历数组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,' ]