您的位置:首页 > Web前端 > JavaScript

JavaScript趣题:Jaden Smith

2016-09-08 07:23 281 查看
Jaden Smith,Will Smith之子,是一位影视明星。

2010年主演了《功夫梦》,2013年主演了《重返地球》。

他最让人感兴趣的除了电影,还有他的Twitter,习惯在写Twitter的时候,大写每一个单词的首字母。

你的任务是将字符串转换成Jaden Smith式风格的,这些字符串确实是引用他的话,但没有每个单词首字母大写。

例如:

Not Jaden-Cased: "How can mirrors be real if our eyes aren't real"
Jaden-Cased:     "How Can Mirrors Be Real If Our Eyes Aren't Real"
好,既然想要单词首字母大写,咋们就先扩展一个这样的方法:

if(typeof String.prototype.capitalizeFirst === "undefined"){
String.prototype.capitalizeFirst = function(){
return this.slice(0,1).toUpperCase() + this.slice(1);
};
}
有了这个方法,再看具体的思路。

1.先将字符串按空格分割,打散成数组。

2.对数组每一个元素,也就是单词,调用我们刚刚编写的首字母大写方法。

3.将数组重新聚合成字符串,返回。

在这里,我使用了ES5的map方法,它刚好能做到上面的第二点。

String.prototype.toJadenCase = function () {
return this.split(" ").map(function(e){
return e.capitalizeFirst();
}).join(" ");
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息