Javascript 如何访问此对象?它不断返回一个未定义的字符串
在这个kata中,你需要给定一个字符串,用它在字母表中的位置替换每个字母 如果文本中有任何内容不是字母,请忽略它,不要返回 “a”=1,“b”=2等 范例Javascript 如何访问此对象?它不断返回一个未定义的字符串,javascript,Javascript,在这个kata中,你需要给定一个字符串,用它在字母表中的位置替换每个字母 如果文本中有任何内容不是字母,请忽略它,不要返回 “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 23 5 12 22 5 15 3 12 3 11”(作为字符串) 如何访问此对象?它不断返回一个未定义的字符串 功能字母位置(文本){
alphabet_position("The sunset sets at twelve o' clock.")
应返回“20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 23 5 12 22 5 15 3 12 3 11”
(作为字符串)
如何访问此对象?它不断返回一个未定义的字符串
功能字母位置(文本){
变量字母={
答: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,
问:17,
r:18,
s:19,
t:20,
u:21,
v:22,
w:23,
x:24,
y:25,
z:26
}
var数=0;
var字符串=”;
var字母=”;
对于(i=0;i尝试以下操作
alphabet.letter
应为alphabet[letter.toLowerCase()]
-用于忽略大小写
- 对于空格和其他字符,请选中
if(number)
功能字母位置(文本){
var字母表={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数=0;
var字符串=”;
var字母=”;
对于(i=0;i而言,您的代码中存在一些错误。请按照以下步骤解决此问题
- 使用括号表示法动态访问属性
- 使用
toLowerCase()
方法也可以转换大写字母
- 处理特殊的空格,因为没有转换规则
功能字母位置(文本){
变量字母表={
答: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,
问:17,
r:18,
s:19,
t:20,
u:21,
v:22,
w:23,
x:24,
y:25,
z:26
}
var数=0;
var字符串=”;
var字母=”;
对于(i=0;i 如果你认为每个字母的索引是它的ASCII/UTF16代码减去97(字母“A”的ASCII代码)加上1(因为你的字母从1开始而不是0),那么你可以这样解决:
功能字母位置(文本){
var str=“”;
对于(i=0;i 如果(code>=97&&code使用ASCII码,您的代码将不需要字母表数组
var str=“日落时间定在十二点。”;
函数图表转换(str){
var结果=”;
str=str.toLowerCase();
对于(变量i=0;i0&&ascii<26)
结果+=ascii+“”;
}
返回结果;
}
console.log(chartoasciconversion(str));
您的代码有问题:在变量中存储对象属性名称时,您应该使用[]
符号来访问属性值。在您的示例中,您有字母表.letter
,它应该是字母表[letter]
功能字母位置(文本){
变量字母={
答: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,
问:17,
r:18,
s:19,
t:20,
u:21,
v:22,
w:23,
x:24,
y:25,
z:26
}
var数=0;
var字符串=”;
var字母=”;
对于(i=0;i console.log(res,res==“20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 23 5 12 22 5 15 3 12 15 3 11”);
数字=字母表[字母]
您所拥有的是在文字键上查找值“字母”< /代码>,它不存在——因此<代码>未定义您可能还想考虑当您在字符串中有大写字母时会发生什么(提示:转换为小写)