📅  最后修改于: 2023-12-03 15:01:42.576000             🧑  作者: Mango
在Javascript中,我们可以很方便地将字母转换为数字。这对于某些编程任务非常有用,如加密和解密等。
charCodeAt()
方法可以返回指定位置的字符的unicode编码。由于字母的unicode编码连续,我们可以利用这个性质将字母转成数字。
function letterToNumber(str) {
let result = '';
for (let i = 0; i < str.length; i++) {
const code = str.charCodeAt(i);
result += (code - 96) + ' ';
}
return result.trim();
}
console.log(letterToNumber('javascript')); // 10 1 22 1 13 19 3 18 9 16 20
上述代码以javascript
为例,将每个字母的unicode编码减去96,得到的数字即为'a'对应的数字为1,'b'对应的数字为2,以此类推。
我们也可以利用字符串的indexOf()
方法,来实现将字母转成数字。
function letterToNumber(str) {
const alphabet = 'abcdefghijklmnopqrstuvwxyz';
let result = '';
for (let i = 0; i < str.length; i++) {
const index = alphabet.indexOf(str.charAt(i));
result += (index + 1) + ' ';
}
return result.trim();
}
console.log(letterToNumber('javascript')); // 10 1 22 1 13 19 3 18 9 16 20
上述代码中,我们定义了一个包含所有字母的字符串alphabet
,然后在循环中使用indexOf()
方法找到每个字母在alphabet
字符串中的索引,从而得到对应的数字。
以上是两种将字母转成数字的方法。使用charCodeAt()
方法可以直接得到字母的unicode编码,需要减去一个常数。使用indexOf()
方法需要先准备一个包含所有字母的字符串,然后查找每个字母在其中的索引。