Javascript 字符串到 int 数组

标签 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 + " ");
}

这给出 NaN 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字符串中单个字符的字符编码。

关于Javascript 字符串到 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958881/

相关文章:

javascript - 如何在 Web Animation API 中为 "from"设置动画

javascript - 如果 REGEX 表达式的条件与使用 Google 应用程序脚本输入的单元格不匹配,如何拒绝输入

Java缓存和平等

java - 如何将用户输入限制为整数 1 或 2,并且不允许用户在 java 中输入除整数以外的任何内容?

java - 什么时候可以使用instanceof?

javascript - 获取父类(super class)中的子类构造函数

javascript - 如何在不更改页眉和页脚的情况下更改html页面中的内容位置

iphone - 如何简化24个不同整数的加法?

mysql - Mysql 查询中用于制作直方图的缺陷,可能是在参数定义中