Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正在用字母表位置替换代码战挑战,但我不';我不明白_Javascript_Unicode_Utf 8 - Fatal编程技术网

Javascript 我正在用字母表位置替换代码战挑战,但我不';我不明白

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 &

挑战是给定一个字符串,用它在字母表中的位置替换每个字母

有4个小时我都找不到解决办法。我试过regex(还不知道它是怎么工作的)。我试图找到一个解决办法,但我不完全理解

代码是这样的

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);