0

我有用户给出的 5 位数字的文本框,例如:-如果 num2=(12345),我想将单个数字减去 10。所以 12345 的答案将是 98765。我使用 charAt() 来将数字分开并存储在不同的变量中。然后使用了 concat() ,它不起作用。我想知道他们必须采用一些不同的有效方法来获得所需的答案。

<input id="num2" type="text" /><br />
<input id ="comRanNum" type="text" /><br />
<input name="" type="button" onclick="check()" value="Click Here" />

function check()
{
var num2=document.getElementById("num2").value;
var temp0=10-num2.charAt(0);
var temp1=10-num2.charAt(1);
var temp2=10-num2.charAt(2);
var temp3=10-num2.charAt(3);
var temp4=10-num2.charAt(4);
var temp5=temp0.concat(temp1,temp2,temp3,temp4);
document.getElementById("comRanNum").value=temp5;
}
4

3 回答 3

1

temp0还不是一个字符串,所以你不能调用concat它。但是,如果您无论如何都要将其转换为字符串,那何必呢?

var temp5 = '' + temp0 + temp1 + temp2 + temp3 + temp4;

但是,由于您准确指定了五位数字,因此 TVK 的答案是最好的。数学永远是最好的。

于 2013-06-22T15:25:37.277 回答
1

如果您的问题总是涉及 5 个数字,您可以简单地使用111110-num2. 例如,111110-12345=98765。要解决动态数量的问题,您可以使1s 的数量取决于输入的数字的长度。

于 2013-06-22T15:24:19.020 回答
0
var num = '12345';
var result = num.split('').map(function (item) {
  return 10 - item;
}).join('');

console.log(result); // 98765
于 2013-06-22T15:26:53.027 回答