字符串输出混合相同字符两次

时间:2017-10-08 01:46:24

标签: javascript

var e1, e2, e3, e4, e5, e6, e7, str;

function capFirstLetter(str){
  return str.substr(0,1).toUpperCase() +  str.substr(1).toLowerCase();
}

e1 = prompt("Enter first name", "john");
e1 = capFirstLetter(e1);

e3 = prompt("Enter the college name you are attending to", "seneca college");
e3 = e3.split(" ");
var example2 = " ";
for(var i=0; i<e3.length; i++){
  example2 += capFirstLetter(e3[i]) + e3[i].substr(1,e3[i].length-1) + " ";
}
console.log(example2);

所以这就是我的代码。 e3将使用名为capFirstLetter的函数,它将转换每个单词大写的每个首字母。

但是,此代码输出的内容是&#34; Burnhamurnham Collegeollege &#34;。

而不是输出&#34; Burnham College &#34;。因此,它输出额外的字母&#34; urnham &#34;和&#34; ollege &#34;,所以我猜测它会在没有第一个字母的情况下再输出一次。任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

所以,它输出了额外的字母urnham和ollege,所以我猜测它再输出一次没有第一​​个字母。任何人都知道如何解决这个问题?

删除e3[i].substr(1,e3[i].length-1)example2 += capFirstLetter(e3[i]) + " ";

  

它创造额外的1缩进,所以它输出/ t Burnham学院,任何猜测为什么?

删除var example2 = " ";

中的空格