Title Case a Sentence
解决思路
- 将字符串转换成小写
- 把字符串分割成字符串数组
- 循环数组将每一个单词首字母大写
- 把数组所有的元素转换成一个字符串
第一种方法
function titleCase(str) {
str=str.toLowerCase().split(' ');//将字符串统一转换小写,即将所有单词小写
var change;//声明一个变量用于存放str中任意一个的元素
for(var i=0;i<str.length;i++){//按顺序循环str中的元素
change=str[i].split('');//将str第i+1个元素的字符串分割成字符串数组,即将单词分为单词长度的数组
change[0]=change[0].toUpperCase();//将字符串数组中的第一个元素的字符串大写,即将首字母大写
change=change.join('');//将单词长度的数组组合成单词
str[i]=change;//将首字母大写的单词替换原来的单词
}
str=str.join(' ');//组合str数组变成字符串
return str;//输出数组
}
titleCase("I'm a little tea pot");
第二种方法
function titleCase(str) {
str=str.split(' ');//将字符串分割成字符串数组
var change;//声明一个变量用于存放str中任意一个的元素
for(var i=0;i<str.length;i++){//按顺序循环str中的元素
change=str[i].toLowerCase();//将str中的第i+1个元素转化成小写,并赋值给change
change=change.split('');//将字符串转化成分割成字符串数组,即将单词分为单词长度的数组
change[0]=change[0].toUpperCase();//将字符串数组中的第一个元素的字符串大写,即将首字母大写
change=change.join('');//将单词长度的数组组合成单词
str[i]=change;//将首字母大写的单词替换原来的单词
}
str=str.join(' ');//组合str数组变成字符串
return str;//输出数组
}
titleCase("I'm a little tea pot");
错误示例//基于第二种方法上的错误
function titleCase(str) {
str=str.split(' ');
var change;
for(var i=0;i<str.length;i++){
change=str[i].toLowerCase();//将str中的第i+1个元素转化成小写,并赋值给change
change=str[i].split('');//这里将并未转换成小写的str中的第i+1个元素分割成字符串数组,重新给change赋值,造成了错误
change[0]=change[0].toUpperCase();
change=change.join('');
str[i]=change;
}
str=str.join(' ');
return str;
}
titleCase("I'm a little tea pot");
Title Case a Sentence的更多相关文章
- freeCodeCamp:Title Case a Sentence
确保字符串的每个单词首字母都大写,其余部分小写. 像'the'和'of'这样的连接符同理. /*思路 将字符串转为小写.toLowerCase() 分割字符串以单词形式组成数组myarr 确保数组中的 ...
- FreeCodeCamp:Title Case a Sentence
要求: 确保字符串的每个单词首字母都大写,其余部分小写. 像'the'和'of'这样的连接符同理. 结果: titleCase("I'm a little tea pot") 应该 ...
- FCC JS基础算法题(4):Title Case a Sentence(句中单词首字母大写)
题目描述: 确保字符串的每个单词首字母都大写,其余部分小写.像'the'和'of'这样的连接符同理. 算法: function titleCase(str) { // 转小写及分割成数组 var st ...
- Title Case a Sentence-freecodecamp算法题目
Title Case a Sentence(中单词首字母大写) 要求 确保字符串的每个单词首字母都大写,其余部分小写. 像'the'和'of'这样的连接符同理. 思路 将句子小写化后用.split(& ...
- Title Case
地址:http://www.codewars.com/kata/5202ef17a402dd033c000009/train/python 题目: A string is considered to ...
- FreeCodeCamp 前端初级算法(个人向)
freecodecamp 初级算法地址戳这里 Reverse a String 翻转字符串 function reverseString(str) { str=str.split("&quo ...
- js中字符和数组一些基本算法题
最近在刷 fcc的题,跟升级打怪一样,一关一关的过,还挺吸引我的.今天抽时间把 Basic Algorithm Scritping 这部分题做了,根据一些提示,还是比较简单的.有些题的处理方式 方法 ...
- FreeCodeCamp 的 Basic Algorithm Scripting 题解(1)
这是本人的原创文章,转载请注明原文链接http://www.cnblogs.com/wusuowiaaa1blog/p/5932121.html. 1.Reverse a String 翻转字符串 先 ...
- FreeCodeCamp初级算法部分学习
Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 当你完成不了挑战的时候,记得开大招 ...
随机推荐
- Effective C++阅读笔记_条款2:尽量以const,enum,inline替换#define
1.#define缺点1 #define NUM 1.2 记号NUM可能没有进入记号表,在调试或者错误信息中,无法知道1.2的含义. 改善:通过const int NUM = 1.2; 2.#dein ...
- Java中的Serializable接口transient关键字,及字节、字符、对象IO
1.什么是序列化和反序列化Serialization是一种将对象转为为字节流的过程:deserialization是将字节流恢复为对象的过程. 2.什么情况下需要序列化a)当你想把的内存中的对象保存到 ...
- 【XLL 框架库函数】 TempActiveCell/TempActiveCell12
这两个函数创建 XLOPER/XLOPER12 ,包含了当前激活工作表上的单元格引用. LPXLOPER TempActiveCell(WORD row, BYTE col); LPXLOPER12 ...
- css3 transition
<html> <head lang="en"> <meta charset="UTF-8"> <title ...
- Servlet 生命周期与web容器的关系
servlet生命周期由web容器(如tomcat)管理,初始化一次,直到web容器关闭才会被销毁.1.servlet是单例多线程,每个请求过来容器都会启用一个新线程 2.servlet在容器中保持单 ...
- 微信开发之Author网页授权
微信开发中,经常有这样的需求:获得用户头像.绑定微信号给用户发信息.. 那么实现这些的前提就是授权! 1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的&q ...
- jquery插件开发继承了jQuery高级编程思路
要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...
- java中的final的使用
1.final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的.在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会再被扩展,那么就设计为fin ...
- winform listview控件、容器控件
ListVies控件主要用于展示数据 常用属性: FullRowSelect:设置是否行选择模式.(默认为false) (开启之后一下选中一行数据) GridLines:设置行和列之间是否显示网格线. ...
- HDU 1074 Doing Homework (状压dp)
题意:给你N(<=15)个作业,每个作业有最晚提交时间与需要做的时间,每次只能做一个作业,每个作业超出最晚提交时间一天扣一分 求出扣的最小分数,并输出做作业的顺序.如果有多个最小分数一样的话,则 ...