《JavaScript-The Definitive Guide》讀書筆記:字符串經常使用方法

concat()數組

鏈接多個字符串,返回合併後的字符串。post

1 var s1="a";
2 var s2="b";
3 var s3="c";
4 
5 console.log(s1.concat(s2,s3));//abc

concat() 方法的結果等同於:result = s1 + s2 + ... + sN。若是有不是字符串的參數,則它們在鏈接以前將首先被轉換爲字符串。spa

數組中的concat():將參數添加爲數組的元素,返回新的數組。code

1 var arr = [1, 2, 3];
2 console.log(arr.concat(4, 5));//[1,2,3,4,5]

indexOf()blog

查找子串第一次出現的索引。索引

1 var s="abcd";
2 console.log(s.indexOf("b"));//1

若沒有匹配項,返回 -1。ip

1 var s="abcd";
2 console.log(s.indexOf("e"));//-1

能夠傳入第二個參數:fromIndex,表示從索引位置fromIndex開始查找,默認從起始索引0開始查找;若fromIndex爲負,則從索引0開始查找。字符串

1 var s = "aba";
2 console.log(s.indexOf("a", 0));//0
3 console.log(s.indexOf("a", 1));//2
4 console.log(s.indexOf("a", -1));//0

該方法對大小寫敏感。string

1 var s="Aba";
2 console.log(s.indexOf("a"));//2

lastIndexOf()it

相似 indexOf() ,但從右往左查找。

1 var s = "aba";
2 console.log(s.lastIndexOf("a"));//2

也可指定起始索引,默認從最大索引開始查找。

1 var s = "aba";
2 console.log(s.lastIndexOf("a",1));//0

charAt()

返回指定索引位置的字符(由於Javascript中沒有字符類型,因此返回的是長度爲1的字符串)。

1 var s="abc";
2 console.log(s.charAt(1));//b

若索引越界,返回空字符串。

1 var s="abc";
2 console.log(s.charAt(-1));//""

substr()

substr(fromIndex,length):從起始索引fromIndex開始截取長度length的字符串。

1 var s="abc";
2 console.log(s.substr(1,1));//b

若length < 1,返回空字符串。

1 var s="abc";
2 console.log(s.substr(1,-1));//""

若不指定length或者length超過可截取的最大長度,則截取到結尾。

1 var s="abc";
2 console.log(s.substr(1));//bc
3 console.log(s.substr(1,10));//bc

若起始索引爲負,則從右往左開始截取(從右往左的索引從-1開始)。

1 var s="abc";
2 console.log(s.substr(-1,1));//c

substring()

substring(startIndex,endIndex):截取起始索引startIndex到結束索引endIndex的子字符串,結果包含startIndex處的字符,不包含endIndex處的字符。

1 var s="abc";
2 console.log(s.substring(1,2));//b

若startIndex或者endIndex爲負,則會被替換爲0。

1 var s="abc";
2 console.log(s.substring(-1,2));//ab

若startIndex和endIndex相等,則返回空字符串。

若startIndex > endIndex,則執行方法時,兩個值會被交換。

1 var s="abc";
2 console.log(s.substring(2,1));//b

若不指定endIndex或endIndex超出最大索引,則截取到結尾。

1 var s="abc";
2 console.log(s.substring(1));//bc
3 console.log(s.substring(1,10));//bc

slice()

slice(startIndex,endIndex):截取起始索引startIndex到結束索引endIndex的子字符串,結果包含startIndex處的字符,不包含endIndex處的字符。

1 var s="abc";
2 console.log(s.slice(1,2));//b

若startIndex或者endIndex爲負,表示該索引是從右往左計算的索引(跟substring不一樣)。

1 var s="abc";
2 console.log(s.slice(1,2));//b
3 //等價於
4 console.log(s.slice(1,-1));//b
5 //等價於
6 console.log(s.slice(-2,-1));//b
7 //等價於
8 console.log(s.slice(-2,2));//b

若startIndex所表示的索引位置等於endIndex所表示的索引位置,或者startIndex所表示的索引位置在endIndex所表示的索引位置以後,則返回空字符串(跟substring不一樣)。

1 var s="abc";
2 console.log(s.slice(1,1));//""
3 console.log(s.slice(-1,-2));//""

split()

按給定字符串分割,返回分割後的多個字符串組成的字符串數組。

1 var s="a,bc,d";
2 console.log(s.split(","));//["a", "bc", "d"] 
3 
4 s="a1b1c1d1";
5 console.log(s.split("1"));//["a", "b", "c", "d", ""] 
相關文章
相關標籤/搜索