Javascript 我正在用字母表位置替换代码战挑战,但我不';我不明白
挑战是给定一个字符串,用它在字母表中的位置替换每个字母 有4个小时我都找不到解决办法。我试过regex(还不知道它是怎么工作的)。我试图找到一个解决办法,但我不完全理解 代码是这样的Javascript 我正在用字母表位置替换代码战挑战,但我不';我不明白,javascript,unicode,utf-8,Javascript,Unicode,Utf 8,挑战是给定一个字符串,用它在字母表中的位置替换每个字母 有4个小时我都找不到解决办法。我试过regex(还不知道它是怎么工作的)。我试图找到一个解决办法,但我不完全理解 代码是这样的 function alphabetPosition(text) { var result = ""; for (var i = 0; i < text.length; i++){ var code = text.toUpperCase().charCodeAt(i) if (code > 64 &
function alphabetPosition(text) {
var result = "";
for (var i = 0; i < text.length; i++){
var code = text.toUpperCase().charCodeAt(i)
if (code > 64 && code < 91) {
result += (code - 64) + " "
};
}
return result.slice(0, result.length-1);
}
功能字母位置(文本){
var结果=”;
对于(变量i=0;i64&&代码<91){
结果+=(代码-64)+“”
};
}
返回result.slice(0,result.length-1);
}
我不明白var代码=。。。。。。
为什么要这样做
if (code > 64 && code < 91) {
result += (code - 64) + " "
};
if(code>64&&code<91){
结果+=(代码-64)+“”
};
这将开始定义字母的字母表位置。它基本上说:“对于文本中的每个字符,返回其字符代码charCodeAt(i)
这一部分将我们过滤的字母代码添加到结果中,并为可读性添加了一个空格。它对if
语句过滤的每个字符代码都这样做
return result.slice(0, result.length-1);
然后,我们只需返回整个字符串,并在末尾减去不必要的空格
注意:您也可以简单地返回result.trim()
以删除结尾处的空白。code
是指大写字母的ASCII字符代码,其中A=65,Z=90。通过从code
中减去64,您将得到字母表中基于(1
)的位置(a=65
,65-64=1
)。希望有帮助。
var code = text.toUpperCase().charCodeAt(i)
if (code > 64 && code < 91) {
result += (code - 64) + " "
};
result += (code - 64) + " "
return result.slice(0, result.length-1);