Javascript字符串到int数组 var result=“1fg”; 对于(i=0;i字符串是否为正确的整数?在这种情况下:49

Javascript字符串到int数组 var result=“1fg”; 对于(i=0;i字符串是否为正确的整数?在这种情况下:49,javascript,integer,flawed-concept,Javascript,Integer,Flawed Concept,这就产生了NaN 102 103 可能是因为它把“1”当作一个整数或类似的东西。有什么办法可以把这个 “1”->字符串是否为正确的整数?在这种情况下:49 就这样吧 49 102 103而非NaN 102 103 干杯 Timo函数采用索引,而不是字符串 当您向其传递字符串时,它将尝试将字符串转换为数字,如果无法转换,则使用0 您的第一次迭代调用'1'。charCodeAt('1')。它将把'1'解析为一个数字,并尝试获取字符串中的第二个字符代码。由于字符串只有一个字符,这就是NaN 您的第二次

这就产生了NaN 102 103

可能是因为它把“1”当作一个整数或类似的东西。有什么办法可以把这个 “1”->字符串是否为正确的整数?在这种情况下:49

就这样吧

49 102 103而非NaN 102 103

干杯


Timo

函数采用索引,而不是字符串

当您向其传递字符串时,它将尝试将字符串转换为数字,如果无法转换,则使用
0

您的第一次迭代调用
'1'。charCodeAt('1')
。它将把
'1'
解析为一个数字,并尝试获取字符串中的第二个字符代码。由于字符串只有一个字符,这就是
NaN

您的第二次迭代调用
'f'.charCodeAt('f')
。由于
'f'
不能解析为数字,因此它将被解释为
0
,这将为您提供第一个字符代码


您应该编写
var hexval=result.charCodeAt(i)
以获取原始字符串中给定位置的字符代码


您还可以编写
var hexval=chr.charCodeAt(0)
以获取
chr
字符串中单个字符的字符代码。

谢谢!!我怎么能看过去呢!我简直不敢相信,我已经看了这个代码好几个小时了^^如果我能感谢你的解释,我会给你100票。现在真的有道理了!1.你申报了我吗?2.不要将声明放在循环中。最好事先声明所有变量。请看这里:
var result ="1fg";
for(i =0; i < result.length; i++){
  var chr = result.charAt(i);
  var hexval = chr.charCodeAt(chr)
  document.write(hexval + " ");
}