javascript - java.lang.Character.getNumericValue(char ch) 方法的 Javascript 等效项
问题描述
Javascript 的charCodeAt()
方法为字符提供 ASCII 等效值(例如 65 到 90 用于 'A' 到 'Z')。是否有任何与 Java 方法等效的 Javascript 方法Character.getNumericValue()
,它返回int
指定的 Unicode 字符代表的值?(例如,对于“A”到“Z”,它返回 10 到 35)
解决方案
parseInt
如果你告诉它使用基数 36 会这样做:
console.log(parseInt("A", 36)); // 10
console.log(parseInt("Z", 36)); // 35
如果您愿意(并且您没有编写其他人将混合到他们的代码中的库或模块),您甚至可以添加getNumericValue
到String.prototype
:
Object.defineProperty(String.prototype, "getNumericValue", {
value() {
return parseInt(this, 36);
},
writable: true,
configurable: true
});
console.log("A".getNumericValue()); // 10
最好不要在编写库或模块时扩展内置原型,这些库或模块将混合到您无法直接控制的代码中,因为如果每个人都这样做,可能会出现冲突。如果扩展内置原型,重要的是使用Object.defineProperty
该属性不可枚举(默认为enumerable
is false
)。即使在您自己的代码库中,通常最好不要扩展Object.prototype
(即使是不可枚举的属性)。
推荐阅读
- arrays - 在交换序列后查找每个节点占用的唯一位置的数量
- elixir - 如何关闭 Elixir/Phoenix 表单中输入的自动完成功能?
- python - 从 requests.get "json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)" 接收错误
- discord.js - Welcome message embed Discord.js
- python-3.x - 我想要一种方法来“重试”错误的用户输入。有没有办法做到这一点?
- python - win32api.ShellExecute() 函数有什么作用?
- c++ - 模板参数扣除/替换失败:
- swift - 带有错误委托方法的 Swift 协议扩展仍然有效(?!)
- sql - SQL窗口函数和连接
- django - Django 错误:找不到“登录”的反向。“登录”不是有效的视图函数或模式名称