Javascript字符串到int数组

Tim*_*sen 3 javascript integer flawed-concept

var result ="1fg";
for(i =0; i < result.length; i++){
  var chr = result.charAt(i);
  var hexval = chr.charCodeAt(chr)
  document.write(hexval + " ");
}
Run Code Online (Sandbox Code Playgroud)

这给出了NaN 102 103.

可能是因为它将"1"视为整数或类似的东西.有没有办法可以将"1" - >字符串转换为正确的整数?在这种情况下:49.

所以它会

49 102 103而不是NaN 102 103

干杯,

蒂莫

SLa*_*aks 7

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

当你传递一个字符串时,它会尝试将字符串转换为数字,0如果不能则使用.

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

你的第二次迭代调用'f'.charCodeAt('f').由于'f'无法解析为数字,因此将其解释为0,它将为您提供第一个字符代码.


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

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