如何在javascript中减去2个字符以获得ascii的差异
How to substract 2 char in javascript to get a difference in ascii
alert('g' - 'a')
返回非数字。("NAN")。
但我期望得到ascii
的差值为alert(103-97)
=> alert(6)
。因此输出6
。
在C中,int i = 'g' - 'a'
将得到i = 6
。
如何在javascript中实现2个字符的减法?
alert("g".charCodeAt(0) - "a".charCodeAt(0))
给出6。
应用:我在国际象棋程序中使用这个。
唯一可行的方法就是你已经建议的方法:
alert('g'.charCodeAt(0) - 'a'.charCodeAt(0));
如您所知,这将在每种情况下从字符串的第0个元素中检索ASCII字符代码,并从第一个元素中减去第二个元素。
不幸的是,这是检索给定字符的ASCII码的唯一方法,尽管使用函数会更简单一些,尽管考虑到charCodeAt()
解决方案的简便性/简单性并不是那么简单。
引用:
-
String.charCodeAt()
.
JavaScript不把字符当作数字;它们是单字符字符串。因此,减法运算符将计算Number('g') - Number('a')
。
您应该执行'g'.charCodeAt(0) - 'a'.charCodeAt(0)
(没有更好的方法,但您可以将其包装在函数中)
您可以自己编写一个自定义函数。像这样:
function asciiDif(a,b) {
return a.charCodeAt(0) - b.charCodeAt(0);
}
然后:
alert(asciiDif('g','a'));
相关文章:
- 修改 JavaScript 以使用 ASCII 字符或图像而不是文本
- 使用正则表达式测试字符串中的特定ASCII字符
- 如何将字符串中的ascii字符转换为jquery中的字符
- 使用Jquery仅切换按钮文本中的ASCII字符
- V8是否自动解析字符串中的ascii字符
- 从nodejs-crypto返回的字符串中修剪非ascii字符
- 将ASCII字符替换为等效字符
- 将ascii字符发送到mailto而不达到URL限制的最有效方法
- JavaScript 字符串中的转义控制和非 ASCII 字符(高位)
- 匹配除少数字符之外的 ASCII 字符
- 使字典中的键等于所有 ASCII 字符
- 使用 Javascript/Windows 批处理文件混合将非 ASCII 字符编码为 HTML
- 使用 Javascript REGEX 阻止特定范围的 ASCII 字符
- HTML 标签以 ASCII 字符显示
- Django表单中的非ASCII字符发出警告
- 如何将一组ascii字符转换为字符串
- Regex测试是否只有ASCII字符
- 如何在java脚本中对非ascii字符进行编码
- 编码URI(空格等)而不编码非ASCII字符
- 将2个ASCII字符与javascript进行比较