前端-给定一个字符串str,如何实现每个单词首字母都大写,其余部分小写。
確保字符串的每個單詞首字母都大寫,其余部分小寫。
function f(str){
var arr = str.toLowerCase().split(" “); //轉(zhuǎn)小寫,分割成字符串數(shù)組
for(var i=0; i<arr.length; i++){
arr[i] = arr[i].charAt(0).toUpperCase()+arr[i].slice(1); //重新組合字符串元素
}
return arr.join(” "); //轉(zhuǎn)成字符串 }
console.log(f(“I’m a title Case.”)); //輸出結(jié)果:I’m A Title Case.
//解題思路:1、字符串轉(zhuǎn)化成小寫;2、分割成字符串數(shù)組;3、新組合字符串元素=首字母轉(zhuǎn)大寫+其余小寫。
// 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循環(huán)數(shù)組,因為當數(shù)組的原型添加了新屬性時,key就不僅僅是只包含數(shù)組的index值,還包含了新添加的屬性,如下:
// Array.prototype.copy = function () { }; // var arr = [1, 2]; // for
(var index in arr) // { // alert(index); // }
// 我們看到會彈出三個對話框,分別是:0、1、copy,也就是說除了項的數(shù)值索引 0、1,還多了一個 copy,而這個 copy 就是因為 Array.prototype.copy 擴展得到的。
// 所以說不要把 for (var index in items) 當作是 for (var i = 0; i < items.length; i++) 的一種簡寫,二者具有不同的意義。
//數(shù)組的substring(1)和slice(1)方法幾乎是一樣的,區(qū)別在于參數(shù)為負數(shù)時,substring會識別為0,而slice會識別成倒數(shù)的,所以slice更強大
// substr(1,arr[i].length-1);截取index1開始的count個字符形成的字符串,這里是直接截取到最后,所以還是方法slice更簡潔
總結(jié)
以上是生活随笔為你收集整理的前端-给定一个字符串str,如何实现每个单词首字母都大写,其余部分小写。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习 vuex 源码整体架构,打造属于自
- 下一篇: Unity中内嵌网页插件 UniWebV