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。
答案 0 :(得分:0)
你有一个字符串数组,而不是数字。您可以使用以下命令将它们转换为数字:
count = count + +num_arr[x];
第二个+
是一元加号运算符,会将num_arr[x]
转换为数字。
如果您的数字都是整数,则可以使用:
count = count + parseInt(num_arr[x], 10);
或(如果你有漂浮物):
count = count + parseFloat(num_arr[x]);
答案 1 :(得分: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 sumParts(sumX)
,它将一直持续到单个数字整数。
答案 2 :(得分: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; }