How to convert letters to numbers with Javascript?
How could I convert a letter to its corresponding number in JavaScript?
For example:
a = 0
b = 1
c = 2
d = 3
I found this question on converting numbers to letters beyond the 26 character alphabet, but it is asking for the opposite.
Is there a way to do this without a huge array?
Solution 1:
You can get a codepoint* from any index in a string using String.prototype.charCodeAt
. If your string is a single character, you’ll want index 0
, and the code for a
is 97 (easily obtained from JavaScript as 'a'.charCodeAt(0)
), so you can just do:
s.charCodeAt(0) - 97
And in case you wanted to go the other way around, String.fromCharCode
takes Unicode codepoints* and returns a string.
String.fromCharCode(97 + n)
* not quite
Solution 2:
Sorry, I thought it was to go the other way.
Try this instead:
var str = "A";
var n = str.charCodeAt(0) - 65;
Solution 3:
This is short, and supports uppercase and lowercase.
const alphaVal = (s) => s.toLowerCase().charCodeAt(0) - 97 + 1