Javascript拆分负数并删除否定

时间:2014-03-21 17:45:35

标签: javascript arrays

我在尝试将整数拆分为带负数的数字时遇到问题 让我们说-88将它们转换为字符串伤口[ - ,8,8] 我的目标是删除' - '并添加两个数字以获得16但问题是否定

这是我的代码:

function sumDigits(number) {
    var digits = (""+number).split("");
    var sum = 0;
    for( var i = 0; i < digits.length; i++){

      var test = parseInt(digits[i]);
      sum = sum + test;
      }
    return sum;
    }

5 个答案:

答案 0 :(得分:2)

您在寻找数字的绝对值吗?也许这会奏效。

function sumDigits(number) {
    number = Math.abs(number);

答案 1 :(得分:1)

这适用于-88:

   var digits =number + "";
   var sum = 0;
   for( var i = 0; i < digits.length; i++){

      var test = parseInt(digits[i]);

      if(!isNaN(test))
         sum = sum + test;
      }
   }

答案 2 :(得分:1)

function sumDigits(number) {
    number = (number < 0) ? number*-1 : number;
    var digits = (""+number).split("");
    var sum = 0;
    for( var i = 0; i < digits.length; i++){

      var test = parseInt(digits[i]);
      sum = sum + test;
      }
    return sum;
    }

答案 3 :(得分:1)

只需在功能开头添加

if (number < 0) {
    number *= -1;
}

至少在另一个答案中提到

number = Math.abs(number);

也可以使用

答案 4 :(得分:1)

快速而肮脏:

function sumDigits(number){
    number=(number<0)?-number:number;
    return (number+"").split("").reduce(function(o,n){ return o*1+n*1 },"0");
}    

Fiddle