在这个套路中,你需要给定一个字符串,用它在字母表中的位置替换每个字母。
如果文本中的任何内容不是字母,请忽略它并且不要返回它。
“a”= 1,“b”= 2,等等
例子
alphabet_position("The sunset sets at twelve o' clock.")
应该返回 "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11"
(作为字符串)
如何访问这个对象?它不断返回一个未定义的字符串。
function alphabetPosition(text) {
var alphabet = {
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
}
var number = 0;
var string = "";
var letter = "";
for (i = 0; i < text.length; i++) {
letter = text.charAt(i);
number = alphabet.letter;
string += number + " ";
}
return string;
}
var res = alphabetPosition("The sunset sets at twelve o' clock.");
console.log(res, res === "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11");
最佳答案
尝试跟随
alphabet.letter
应该是alphabet[letter.toLowerCase()]
- 忽略大小写- 对于空格和其他字符,检查
if(number)
function alphabetPosition(text) {
var alphabet = {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};
var number = 0;
var string = "";
var letter ="";
for (i=0; i<text.length; i++) {
letter = text.charAt(i);
number = alphabet[letter.toLowerCase()];
if(number) string += number + " ";
}
return string;
}
console.log(alphabetPosition("The sunset sets at twelve o' clock."));
关于javascript - 如何访问这个对象?它不断返回一串未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53281710/