Javascript / Node JS -使用正则表达式转换字符串?

iqjalb3h  于 2022-11-27  发布在  Java
关注(0)|答案(2)|浏览(99)

在我的nodeJs代码中,我对第三方API进行了REST调用,响应中的一个值是字符串值,例如:

"total": "-15"

请注意,这个值可以是负数、零或正数,但必须是字串。
例如:

"total": "-5"
   "total": "0"
   "total": "+3"

如何将此值转换为以下值?基于上面的示例:

5 under
   level par
   3 over

我对node/javascript还很陌生-regex是最好的选择吗?

cgvd09ve

cgvd09ve1#

正如BluntJackson所说,regex可能会比较慢。下面是一个转换函数的例子:

const toText = (value) => {
  const parsed = parseInt(value)
  return parsed  > 0 ? `${parsed} over` : parsed  < 0 ? `${Math.abs(parsed)} under` : 'level par';
}

console.log(toText("-5"));
console.log(toText("0"));
console.log(toText("+3"));
xlpyo6sf

xlpyo6sf2#

我喜欢这个问题,因为我喜欢Code Golf:D
所以我的建议是这样一句话:

const toText = v => v == 0 ? "level par" : v < 0 ? `${-v} under` : `${+v} over`;

console.log(toText("-5"));
console.log(toText("0"));
console.log(toText("+3"));

使用数字或字符串作为参数。

相关问题