从 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 === '
') {             flag = true          }          if (flag) str += x       };       res.push(str);    }    return res; }; console.log(removeComments(arr, starters));

输出

以下是控制台输出-

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

更新于: 2021 年 4 月 21 日

272 次浏览

开启你的 事业

完成课程以获得认证

立即开始
广告
© . All rights reserved.