【发布时间】:2014-02-08 09:06:21
【问题描述】:
我编写了这个函数来记录给定字符串中的一个新字符串,其中字母应该是字母表中的下一个,并且所有元音都是大写的。
现在我遇到了无法按照我想要的方式拆分字符串的问题。现在,当我真的希望在空格上拆分字符串时,这些单词被拆分为数组中的单独字符。谁能解释为什么会这样?
当我在拆分方法中的“”之间放置一个空格时,我只会得到所有字符和“未定义”应该在空格的位置。感谢您的帮助!
function replace(str) {
var newStr = [];
var vowels = 'aeiou';
var alpha = [ 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
];
str = str.split("");
newStr.length = str.length;
for(var i = 0; i < alpha.length; i++) {
for(var j = 0; j < str.length; j++) {
if(alpha[i] === str[j]) {
newStr[j] = (alpha[i + 1]);
}
}
}
for(var k = 0; k < vowels.length; k++) {
for(var x =0; x < newStr.length; x++){
if(vowels[k] === newStr[x]) {
newStr[x] = vowels[k].toUpperCase("");
}
}
}
return newStr;
}
console.log(replace("today is great"));
【问题讨论】:
-
我收到
[ 'today', 'is', 'great' ]。有什么问题? -
是的,问题肯定出在拆分后的逻辑上,而不是拆分本身。
标签: javascript split