当我开始时,这对我来说看起来相当简单,但出于某种原因,每当我尝试在代码服务上运行结果时,我都会得到一个空数组.我希望你能帮助我找出问题所在.
function alphabetPosition(text) { text.split(' ').join(''); var chari = ""; var arr = []; var alphabet = "abcdefghijklmnopqrstuvwxyz".split(''); for(var i = 0; i < text.len; i++){ chari = text.charAt(i).toLowerCase(); if(alphabet.indexOf(chari) > -1){ arr.push(alphabet.indexOf(chari)); } } return arr; } console.log(alphabetPosition("Hello World"));
我的想法是从参数中获取文本然后去掉空格.我为我的空数组创建了一个变量,然后创建一个字母字符串,我可以稍后搜索.在for循环中,我将每个字符设置为小写,如果在字母字符串中找到该字符,则其位置将被推入数组(arr).我很感激你的时间.
解决方法
Kata适用于此代码.试试这个:
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); } console.log(alphabetPosition("The sunset sets at twelve o' clock."));