我想给字母表中的字母加上数字。问题是我不知道如何处理相同值的多个字母;例如字母 "A":1 "E":5 和 "D":4 应该返回 154 但在我的代码中返回只给出最后一个字母的数字。
var alpha =[
{
"A":1,
"B":2,
"C":3,
"D":4,
"E":5,
"F":6,
"G":7,
"H":8,
"I":9,
"J":10,
"K":11,
"L":12,
"M":13,
"N":14,
"O":15,
"P":16,
"Q":17,
"R":18,
"S":19,
"T":20,
"U":21,
"V":22,
"W":23,
"X":24,
"Y":25,
"Z":26,
}
];
function bin(letter){
for (var i = 0; i < alpha.length; i++){
if(alpha[i].hasOwnProperty(letter)){
return alpha[i][letter];
}
}
}
bin("R");bin("E");Run Code Online (Sandbox Code Playgroud)
您可以获取字符串,将其拆分为一个字符数组,并使用parseInt基数36,您可以在其中获得字母的值。稍后加入单个字符串的结果。
var string = 'aed',
result = string
.split('')
.map(c => parseInt(c, 36) - 9)
.join('');
console.log(result);Run Code Online (Sandbox Code Playgroud)
甚至更短的版本 Array.from
var string = 'aed',
result = Array.from(string, c => parseInt(c, 36) - 9).join('');
console.log(result);Run Code Online (Sandbox Code Playgroud)