Javascript 预编+;或-到数字

Javascript 预编+;或-到数字,javascript,Javascript,有没有更有效或更自然的方法给数字加上加号或减号 以下是我所拥有的: function formatNumber(number) { if (number >= 0) { return "+" + number.toString(); } else { if (number < 0) { return number.toString(); } } } 函数格式编号(编号){ 如果(数字>=0){ 返回“+”+number.toStrin

有没有更有效或更自然的方法给数字加上加号或减号

以下是我所拥有的:

function formatNumber(number) {
  if (number >= 0) {
    return "+" + number.toString();
  } else {
    if (number < 0) {
      return number.toString();
    }
  }
}
函数格式编号(编号){
如果(数字>=0){
返回“+”+number.toString();
}否则{
如果(数字<0){
返回编号.toString();
}
}
}

在else中不需要if语句:

function formatNumber(number) {
  if (number >= 0) {
    return "+" + number;
  } else {
    return "" + number;
  }
}
速记将是:

function formatNumber(number) {
    return (number>0?'+':'') + number;
}

您可以避免使用else语句,也可以避免使用
toString
,因为在字符串和数字相加的情况下,JS将隐式执行此操作

函数格式编号(编号){
如果(数字>=0){
返回“+”+数字;
}
返回“”+数字
}
控制台日志(格式编号(1))
console.log(格式编号(-1))

log(formatNumber(0))
似乎足够有效。当您已经有一个字符串(
“+”
)时,不需要使用
toString()
。如果在else中
const formatNumber=n=>n<0?“”+n:'+'+n或稍短一点:
const formatNumber=n=>(n<0?“”:“+”)+n
'-'+number
将复制负数的
-
-我选择
'+number
,而不是这看起来很简单,但是也许有什么内置的JS方法可以做到这一点吗?@Juniorized,因为我知道没有内置的方法可以在正数上添加加号。我正要发布一个与你(编辑过的)速记版本完全相同的代码的答案,声明返回数字会阻止比较+1给你!