【发布时间】:2021-07-11 14:48:36
【问题描述】:
出于好奇,我想知道是否有办法缩短此代码。每个想法都被接受。
- 我正在尝试使代码的字符尽可能小
const prefix = 'b!',
command = me.content.replace(RegExp(prefix + '\\s'), prefix)
.slice(prefix.length).split(/\s/)[0],
content = me.content.replace(RegExp(prefix + '\\s'), prefix)
.slice(prefix.length + command.length).trim(),
args = content.split(/\s/);
me.content.replace(RegExp(prefix + '\s'), prefix) 在我的代码中重复,有没有办法在不创建另一个变量的情况下缩短它?
输入: 'b!禁止 @SomeUser 违反规则'
- 前缀和命令之间可能有一个或多个空格(b!Ban)或没有(b!Ban)。这就是我更换它的原因。还有,前缀是一个变量,我作为常量添加了作为例子。
预期输出: 命令:“禁止”, content: '@SomeUser 违反规则', args: ['@SomeUser', 'for', 'break', 'the', 'rules' ]
【问题讨论】:
-
为什么?你想要一个更小的字符代码吗?为什么不创建一个变量来重用重复的代码?
-
您能提供一个输入字符串和所需的输出吗?
-
与其专注于让你的代码更短,你应该考虑不要重复自己,这样可以让你的代码更短。
-
我只是不明白您为什么尝试用
b!替换b!\\s,但无论如何它并没有用于您的任何字符串结果 - 大惊小怪没有任何收获。您能否重新表述一下您的任务是什么? -
是的,你可以让你的变量每个/s只有一个字符
标签: javascript slice