js获取字母中的字母数

时间:2019-02-08 11:42:15

标签: javascript

以下技巧可让您获取字母表中字母的索引:

let index = "x".charCodeAt() - 97;

但是,仅当您的字母是英语时,该方法才有效。有什么方法可以对任何随机语言执行此操作吗?

谢谢。

2 个答案:

答案 0 :(得分:3)

否,只有ASCII表中存在的字母才能使用此类功能提取。

答案 1 :(得分:1)

您可以执行类似的操作。 charCodeAt()获取UTF-16编码的Unicode字符的索引。

这意味着您将能够使用它来获取0到0xFFFF之间的任何Unicode字符的索引。确实,如果您想使用任何一种语言来执行此操作,都应使用codePointAt(),因为这样可以访问所有unicode。只要您能够在unicode中字母的索引和字母的“字母”之间进行映射,就可以执行上述的“技巧”。

对于英语而言,这特别容易,因为unicode将从索引97开始以字母顺序存储所有英语字母,因此,要从unicode索引转换为英语字母索引,您只需从unicode索引中减去97。 (但这仅适用于小写字母)

对于其他语言,这不是那么简单,因为Unicode不太可能以“字母顺序”存储所有字符,而且某些语言没有“字母顺序”。

这到底有多难,将取决于您要使用的特定语言。

建议您阅读: