📜  javascript 字母转数字 - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:42.576000             🧑  作者: Mango

Javascript 字母转数字

在Javascript中,我们可以很方便地将字母转换为数字。这对于某些编程任务非常有用,如加密和解密等。

方法1:charCodeAt()

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,以此类推。

方法2:indexOf()

我们也可以利用字符串的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()方法需要先准备一个包含所有字母的字符串,然后查找每个字母在其中的索引。