从 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,' ]