解决思路

  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. objccn-iOS上的相机捕捉

    在第一台iPhone时,在app里面整合相机的唯一方法就是使用UIImagePickerController.到了iOS4,发布了更灵活的AVFoundation框架. UIImagePickerCo ...

  2. Python之Web前端Dom, jQuery

    Python之Web前端: Dom   jQuery ###Dom 一. 什么是Dom? 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它 ...

  3. Python~切片Slice

          [:] [:10] [-10:]       [':10:2]                                  

  4. With great power comes great responsibility

    We trust you have received the usual lecture from the local SystemAdministrator. It usually boils do ...

  5. canvas 画板

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  6. 51. N-Queens

    题目: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two que ...

  7. qt 标准对话框

    if (QMessageBox::Yes == QMessageBox::question(this, tr("Question"),                        ...

  8. 深入研究java.lang.Runtime类

    一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象, ...

  9. 无废话ExtJs 入门教程二十[数据交互:AJAX]

    无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...

  10. [译]:Orchard入门——导航与菜单

    原文链接:Navigation and Menus 文章内容基于Orchard1.8版本.同时包含Orchard 1.5之前版本的导航参考 Orchard有许多不同的方法来创建菜单.本文将介绍两种较为 ...