解决思路

  1. 将字符串转换成小写
  2. 把字符串分割成字符串数组
  3. 循环数组将每一个单词首字母大写
  4. 把数组所有的元素转换成一个字符串

第一种方法

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的更多相关文章

  1. freeCodeCamp:Title Case a Sentence

    确保字符串的每个单词首字母都大写,其余部分小写. 像'the'和'of'这样的连接符同理. /*思路 将字符串转为小写.toLowerCase() 分割字符串以单词形式组成数组myarr 确保数组中的 ...

  2. FreeCodeCamp:Title Case a Sentence

    要求: 确保字符串的每个单词首字母都大写,其余部分小写. 像'the'和'of'这样的连接符同理. 结果: titleCase("I'm a little tea pot") 应该 ...

  3. FCC JS基础算法题(4):Title Case a Sentence(句中单词首字母大写)

    题目描述: 确保字符串的每个单词首字母都大写,其余部分小写.像'the'和'of'这样的连接符同理. 算法: function titleCase(str) { // 转小写及分割成数组 var st ...

  4. Title Case a Sentence-freecodecamp算法题目

    Title Case a Sentence(中单词首字母大写) 要求 确保字符串的每个单词首字母都大写,其余部分小写. 像'the'和'of'这样的连接符同理. 思路 将句子小写化后用.split(& ...

  5. Title Case

    地址:http://www.codewars.com/kata/5202ef17a402dd033c000009/train/python 题目: A string is considered to ...

  6. FreeCodeCamp 前端初级算法(个人向)

    freecodecamp 初级算法地址戳这里 Reverse a String 翻转字符串 function reverseString(str) { str=str.split("&quo ...

  7. js中字符和数组一些基本算法题

    最近在刷 fcc的题,跟升级打怪一样,一关一关的过,还挺吸引我的.今天抽时间把 Basic Algorithm Scritping  这部分题做了,根据一些提示,还是比较简单的.有些题的处理方式 方法 ...

  8. FreeCodeCamp 的 Basic Algorithm Scripting 题解(1)

    这是本人的原创文章,转载请注明原文链接http://www.cnblogs.com/wusuowiaaa1blog/p/5932121.html. 1.Reverse a String 翻转字符串 先 ...

  9. FreeCodeCamp初级算法部分学习

    Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 当你完成不了挑战的时候,记得开大招 ...

随机推荐

  1. s:select下拉框validation验证

    S:select下拉框验证: <td colspan="5"> <s:select name="vo.typeVO.corp" list=&q ...

  2. css中选择器的使用技巧

    td:first-child{选择第一个} td:last-child{选择最后一个} td:nth-child(3){选择第3个} 一个简单的选择方法,很方便

  3. c语言中->(间接成员运算符)的含义

    写于2016年12月12日. "->"称为间接成员运算符. 总体注解:这个运算符与指向结构(sturct)或联合(union)的指针一起使用,用来指明结构或联合的的成员.假设 ...

  4. 1.GoldenGate 简单的一对一配置

    一,软件安装   源端和目标端均执行(只要修改相应的目录)   1.上传软件,放到ogg的安装目录,并解压   mkdir /home/oracle/ogg unzip ogg112101_fbo_g ...

  5. Knockout.js随手记(2)

    计算属性 konckout.js的API文档,写的极为详细和生动,透过MVVM的运作原理,开发时只需专注于定义ViewModel逻辑,不需耗费心力处理TextBox.Select的onchange.o ...

  6. 移动APP项目研发流程及版本规划(转)

    一个移动APP项目研发规模可大可小,但都离不开以下几个成员:产品经理.ui设计师.前端开发.后端开发.测试等.如何合理安排项目成员工作.确保项目顺利进行呢?一个清晰合理的项目研发流程控制很重要. 项目 ...

  7. GnuStep使用

    gcc -o main main1.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GN ...

  8. form-line 样式 让 两个控件在同一个水平位置

    <div class="row"> <div> <label class="form-inline">参加单位:<in ...

  9. PHP 检查并创建多级目录

    <?php //检查并创建多级目录    function checkDir($path){        $pathArray = explode('/',$path);        $no ...

  10. 不想说作用域scope,因为是scopeTree,

    ps:本文前面大部分是错的,后边大部分也是错的,搞混了不要怪我................... 这篇文章讲述了一个悲伤的故事,从一个似似而非的概念一步一步到错误的理解,最后勉强正确的过程 其实我 ...