-1
var count=0 ;
for(var x=0; x<data_len; x++)
{
     count = count + num_arr[x];
}
// alert(count);

如果count = 352我想添加 3+5+2 即 10,然后添加 1+0 即 1。

4

3 回答 3

0

你有一个字符串数组,而不是数字。您可以使用以下方法将它们转换为数字:

count = count + +num_arr[x];

第二个+是一元加号运算符,将num_arr[x]转换为一个数字。

如果你的数字都是整数,你可以使用:

count = count + parseInt(num_arr[x], 10);

或(如果你有花车):

count = count + parseFloat(num_arr[x]);
于 2013-08-11T16:30:26.223 回答
0
function sumParts(x) {
    var sumX = 0;
    var strX = x.toString();
    var arrX = strX.split("");
    for (a = 0; a < arrX.length; a++) {
        sumX += parseInt(arrX[a], 10);
    };
    return sumX;
}
y = sumParts(count);
z = sumParts(y);
// y = 10; (3 + 5 + 2)
// z = 1; (1 + 0)

而且,我相信(未经测试),如果 return 更改为return sumParts(sumX),它将继续,直到它是一个数字整数。

于 2013-08-11T16:38:23.260 回答
0

转换count成字符串:

var count = 352;
count += ''; // makes a string : "352"
while (count.length > 1) {
    count = Function('return ' + count.split('').join('+') + ';')() + '';
}

这部分 :

Function('return ' + count.split('').join('+') + ';')

先后给出:

function () { return 3+5+2; }
function () { return 1+0; }
于 2014-03-04T06:34:06.120 回答