javascript - Javascript字符串到int数组

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

这是南102 103。
可能是因为它把“1”当作一个整数或类似的东西。有没有办法把
“1”->字符串是否为正确的整数?在这种情况下:49。
所以会是
49 102 103代替Nan 102 103
干杯,
蒂莫

最佳答案

charCodeAt函数接受索引,而不是字符串。
当您传递一个字符串时,它将尝试将字符串转换为数字,如果不能,则使用0
第一次迭代调用'1'.charCodeAt('1')。它将把'1'解析为一个数字,并尝试获取字符串中的第二个字符代码。因为字符串只有一个字符,那就是NaN
第二次迭代调用'f'.charCodeAt('f')。由于'f'不能被解析为数字,因此它将被解释为0,这将为您提供第一个字符代码。
您应该编写var hexval = result.charCodeAt(i)以获取原始字符串中给定位置的字符代码。
您还可以编写var hexval = chr.charCodeAt(0)以获取chr字符串中单个字符的字符代码。

本文翻译自 https://stackoverflow.com/questions/4958881/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 javascript integer flawed-concept


相关文章:

c++ - 什么是可用于存储和管理整数集合的最佳C ++数据结构?

java - Java中的字符串和计数器数组

javascript - 为什么Angular在有标准maxlength时提供ng-maxlength?

javascript - 使用JavaScript为QML创建全局变量

javascript - 检查jQuery是否已加载Javascript

javascript - jQuery淡入淡出

javascript - ng-class $ window.innerWidth

c - 如何在命令行中传递特定类型的数字?