首页 > 解决方案 > java.lang.Character.getNumericValue(char ch) 方法的 Javascript 等效项

问题描述

Javascript 的charCodeAt()方法为字符提供 ASCII 等效值(例如 65 到 90 用于 'A' 到 'Z')。是否有任何与 Java 方法等效的 Javascript 方法Character.getNumericValue(),它返回int指定的 Unicode 字符代表的值?(例如,对于“A”到“Z”,它返回 10 到 35)

标签: javascriptjava

解决方案


parseInt如果你告诉它使用基数 36 会这样做:

console.log(parseInt("A", 36)); // 10
console.log(parseInt("Z", 36)); // 35

如果您愿意(并且您没有编写其他人将混合到他们的代码中的库或模块),您甚至可以添加getNumericValueString.prototype

Object.defineProperty(String.prototype, "getNumericValue", {
  value() {
    return parseInt(this, 36);
  },
  writable: true,
  configurable: true
});

console.log("A".getNumericValue()); // 10

最好不要在编写库或模块时扩展内置原型,这些库或模块将混合到您无法直接控制的代码中,因为如果每个人都这样做,可能会出现冲突。如果扩展内置原型,重要的是使用Object.defineProperty该属性不可枚举(默认为enumerableis false)。即使在您自己的代码库中,通常最好不要扩展Object.prototype(即使是不可枚举的属性)。


推荐阅读