这些是我需要用jquery做的逻辑步骤:
x
是从input.value()派生的2位数字(整数);
If var x is **not** 33 or 44
Convert this 2 digit number to string;
split the string in 2 parts as number;
Add these 2 values until they reduce to single digit;
Return var x value as this value;
Else
Return var x value literally as 33 or 44 whatever is the case;
谢谢!
答案 0 :(得分:3)
if (x != 33 && x != 44) {
while (x > 9) {
var parts = ('' + x).split('');
x = parseInt(parts[0]) + parseInt(parts[1]);
}
return x;
} else {
return x;
}
仅当您输入的输入长度最多为2位数时才有效,否则您需要在for
循环parts.length
上添加数字。 E.g:
if (x != 33 && x != 44) {
while (x > 9) {
var parts = ('' + x).split('');
for (var x = 0, i = 0; i < parts.length; i++) {
x += parseInt(parts[i]);
}
}
return x;
} else {
return x;
}
答案 1 :(得分:1)
我试试:
function process (x) {
if ((x != 33) && (x != 44)) {
while (x > 9) {
x = Math.floor (x / 10) + (x % 10);
}
}
return x;
}
当你可以使用算术运算时,我没有理由把它转换为字符串。