Summing the digits of a number (subtracting the first digit if it is negative)
The key to a clean solution is to make it so that the negative sign is not a special case.  Instead of splitting the string character-by-character, capture the digits, such that the first digit might be negative.



function sumDigits(num) {
  return num.toString()
            .match(/-?\d/g)
            .map(function (s) { return parseInt(s) })
            .reduce(function (a, b) { return a + b });
}

console.log(sumDigits(-316));




Also, your variable names are weird and misleading:


The result of .split() is an array, so don't call it a string.
The process of converting a string into a number (i.e. function(x) { return Number(x); }) would be appropriately called toInteger, but once you have applied the string-to-integer conversion to each element of the array, the result would be more appropriately named digits.