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。
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。
你有一个字符串数组,而不是数字。您可以使用以下方法将它们转换为数字:
count = count + +num_arr[x];
第二个+
是一元加号运算符,将num_arr[x]
转换为一个数字。
如果你的数字都是整数,你可以使用:
count = count + parseInt(num_arr[x], 10);
或(如果你有花车):
count = count + parseFloat(num_arr[x]);
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)
,它将继续,直到它是一个数字整数。
转换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; }