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(" "); };
以上就是 JavaScript趣题:Jaden Smith的内容,更多相关内容请关注PHP中文网(www.php.cn)!