前端-给定一个字符串str,如何实现每个单词首字母都大写,其余部分小写。
Posted 小歌谣(公众号同名)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端-给定一个字符串str,如何实现每个单词首字母都大写,其余部分小写。相关的知识,希望对你有一定的参考价值。
确保字符串的每个单词首字母都大写,其余部分小写。
function f(str){
var arr = str.toLowerCase().split(" “); //转小写,分割成字符串数组
for(var i=0; i<arr.length; i++){
arr[i] = arr[i].charAt(0).toUpperCase()+arr[i].slice(1); //重新组合字符串元素
}
return arr.join(” "); //转成字符串 }
console.log(f(“I’m a title Case.”)); //输出结果:I’m A Title Case.
//解题思路:1、字符串转化成小写;2、分割成字符串数组;3、新组合字符串元素=首字母转大写+其余小写。
// var string=“baaa1234”; // console.log(string[0]); //
console.log(string.length); // console.log(string.charAt(0));
//string[0]在IE6-8中不支持,而string.charAt(0)可以,另外当index超出string长度,string[index]会返回undefined,string.charAt(index)则返回空字符串,所以建议使用string.charAt(index)
//Array.prototype.copy = function () { };
//for(var i in arr){arr[i] = arr[i].charAt(0).toUpperCase()+arr[i].slice(1);}
// 最好不要用forin循环数组,因为当数组的原型添加了新属性时,key就不仅仅是只包含数组的index值,还包含了新添加的属性,如下:
// Array.prototype.copy = function () { }; // var arr = [1, 2]; // for
(var index in arr) // { // alert(index); // }
// 我们看到会弹出三个对话框,分别是:0、1、copy,也就是说除了项的数值索引 0、1,还多了一个 copy,而这个 copy 就是因为 Array.prototype.copy 扩展得到的。
// 所以说不要把 for (var index in items) 当作是 for (var i = 0; i < items.length; i++) 的一种简写,二者具有不同的意义。
//数组的substring(1)和slice(1)方法几乎是一样的,区别在于参数为负数时,substring会识别为0,而slice会识别成倒数的,所以slice更强大
// substr(1,arr[i].length-1);截取index1开始的count个字符形成的字符串,这里是直接截取到最后,所以还是方法slice更简洁
以上是关于前端-给定一个字符串str,如何实现每个单词首字母都大写,其余部分小写。的主要内容,如果未能解决你的问题,请参考以下文章