一个函数,它接受一行 JavaScript 并返回修剪后的可能行注释

Posted

技术标签:

【中文标题】一个函数,它接受一行 JavaScript 并返回修剪后的可能行注释【英文标题】:A function that takes one line of JavaScript and returns a possible line comment trimmed 【发布时间】:2021-12-08 20:57:04 【问题描述】:

如果该行不包含行注释,则应返回null。

cutComment('let foo; // bar') 应该返回 'bar',但它返回 'let foo; // 酒吧'。

function cutComment(comment) 
  if (comment === null) 
    return null;
   else 
    return comment.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g, '').trim();
  


console.log(cutComment('let foo; // bar'));

【问题讨论】:

它实际上返回了let foo;,从我添加的代码的 sn-p 中可以看出。 【参考方案1】:

更改了正则表达式以匹配 // 之后的任何内容

function cutComment(comment) 
 if(!comment) return null

 let match = comment.match(/(?<=\/\/).+/)
 if(match.length > 0 ) 
    return match[0]
  else
   return null
 


console.log(cutComment('let foo; // bar'));

【讨论】:

cutComment('let foo; // bar') 不返回 'bar',而是返回 'bar'。我试过 return match[0].trim 以及 return match[0].tostring.replace(“ ”,””) 仍然无法删除 bar 之前的空格 使用match[0].trimStart()

以上是关于一个函数,它接受一行 JavaScript 并返回修剪后的可能行注释的主要内容,如果未能解决你的问题,请参考以下文章

javascript 一个接受多个便士并返回表示美元和美分数量的字符串的函数。

javascript 编写一个函数,该函数接受一个字符串数组并返回该数组中最常出现的字符串。如果有多个字符串

函数式编程javascript

Javascript-乘以2个数字并返回数字

允许默认构造函数接受一个实例并原封不动地返回它

接受 id 并返回表的函数 - 如何为多个 id 调用它?