目錄
字符串:
1、split:把字符串分割為字符串數(shù)組;
2、indexOf(lastIndexOf):從前往后檢索字符串(從后往前檢索字符串);
3、charAt:返回在指定位置的字符;
4、substring:提取字符串中兩個指定的索引號之間的字符;數(shù)組和字符串都有的方法:
5、slice:提取字符串的片斷,并在新的字符串中返回被提取的部分;從某個已有的數(shù)組返回選定的元素。數(shù)組:
6、concat:連接兩個或更多的數(shù)組,并返回結(jié)果。
7、join:把數(shù)組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔;
8、reverse:顛倒數(shù)組中元素的順序
9、splice:向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。該方法會改變原始數(shù)組。
示例
1、split:stringObject.split(separator,howmany)
| 參數(shù) | 描述 |
|---|---|
| separator | 字符串或正則表達式,從該參數(shù)指定的地方分割stringObject |
| howmany | 可選,該參數(shù)可指定返回的數(shù)組的最大長度。如果設置了該參數(shù),返回的子串不會多于這個參數(shù)指定的數(shù)組。如果沒有設置該參數(shù),整個字符串都會被分割,不考慮它的長度。 |
返回:一個字符串數(shù)組。該數(shù)組是通過在 separator 指定的邊界處將字符串 stringObject 分割成子串創(chuàng)建的。返回的數(shù)組中的字串不包括 separator 自身。
let str="How are you doing today?"
let str1 = str.split(" ");
let str2 = str.split(" ",3);
console.log(str1); // ["How", "are", "you", "doing", "today", "?"]
console.log(str2); // ["How", "are", "you"]
2、indexOf、lastIndexOf:stringObject.indexOf(searchvalue,fromindex)、stringObject.lastIndexOf(searchvalue,fromindex)
| 參數(shù) | 描述 |
|---|---|
| searchvalue | 必需。規(guī)定需檢索的字符串值。 |
| fromindex | 可選的整數(shù)參數(shù)。規(guī)定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數(shù),則將從字符串的首字符開始檢索。 |
- indexOf:從前往后檢索;
- lastIndexOf:從后往前檢索。如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,則返回的是出現(xiàn)的最后一個 searchvalue 的位置
返回searchvalue在stringObject中的位置,若沒有,則返回-1;若有多個,如果不是用正則表達式全局匹配,則返回匹配到的第一個。
注:對大小寫敏感。
let str="How are you doing today ?"
let index1 = str.indexOf("o");
let index2 = str.indexOf("w",7);
let index3 = str.lastIndexOf("o");
let index4 = str.lastIndexOf("w",7);
console.log(index1); // 1 :返回匹配到的第一個o的位置
console.log(index2); // -1 :從7開始檢索,檢索不到返回-1
console.log(index3); // 19
console.log(index4); // 2:在位置7之前就存在w,所以返回的是最后一個w的位置
3、charAt:stringObject.charAt(index)
| 參數(shù) | 描述 |
|---|---|
| index | 必需。表示字符串中某個位置的數(shù)字,即字符在字符串中的下標。 |
注:字符串中第一個字符的下標是 0。如果參數(shù) index 不在 0 與 string.length 之間,該方法將返回一個空字符串。
let str="How are you doing today ?"
let str1 = str.charAt(6);
console.log(str1); // e
4、substring:stringObject.substring(start,stop)
| 參數(shù) | 描述 |
|---|---|
| start | 必需。一個非負的整數(shù),規(guī)定要提取的子串的第一個字符在 stringObject 中的位置。 |
| stop | 可選。一個非負的整數(shù),比要提取的子串的最后一個字符在 stringObject 中的位置多 1。如果省略該參數(shù),那么返回的子串會一直到字符串的結(jié)尾。(結(jié)束的位置不包含stop) |
- 返回一個新的字符串,包括 start 處的字符,但不包括 stop 處的字符。
如果參數(shù) start 與 stop 相等,那么該方法返回的就是一個空串(即長度為 0 的字符串)。如果 start 比 stop 大,那么該方法在提取子串之前會先交換這兩個參數(shù)。
let str="How are you doing today ?"
let str1 = str.substring(6);
let str2 = str.substring(2,7);
console.log(str); // How are you doing today ?
console.log(str1); // e you doing today ?
console.log(str2); // w are
5、slice:stringObject.slice(start,end)、arrayObject.slice(start,end)
String.slice() 與 Array.slice() 相似。
| 參數(shù) | 描述 |
|---|---|
| start | 要抽取的片斷的起始下標。如果是負數(shù),則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個字符,-2 指倒數(shù)第二個字符,以此類推。 |
| end | 緊接著要抽取的片段的結(jié)尾的下標。若未指定此參數(shù),則要提取的子串包括 start 到原字符串結(jié)尾的字符串。如果該參數(shù)是負數(shù),那么它規(guī)定的是從字符串的尾部開始算起的位置。 |
- 返回一個新的字符串。包括字符串 stringObject 從 start 開始(包括 start)到 end 結(jié)束(不包括 end)為止的所有字符。
let str="How are you doing today ?"
let str1 = str.slice(6);
let str2 = str.slice(2,7);
let str3 = str.slice(-4);
console.log(str); // How are you doing today ?
console.log(str1); // e you doing today ?
console.log(str2); // w are
console.log(str3); // ay ?
let arr = ["how","are","you","today"];
let arr1 = arr.slice(1);
let arr2 = arr.slice(1,2);
let arr3 = arr.slice(-3,-1);
console.log(arr); // ["how", "are", "you", "today"]
console.log(arr1); // ["are", "you", "today"]
console.log(arr2); // ["are"]
console.log(arr3); // ["are", "you"]
- 注:
1.slice() 比較靈活些,參數(shù)可以為負數(shù),如果起始位置為負數(shù),則從字符串最后一位向前找對應位數(shù)并且向后取結(jié)束位置,如果為正整數(shù)則從前往后取起始位置到結(jié)束位置。
2.substring()只能非負整數(shù),截取起始結(jié)束位置同slice()函數(shù)一致。
以上三種函數(shù)未填第二參數(shù)時,自動截取起始位置到字符串末尾。
6、concat:arrayObject.concat(arrayX,arrayX,......,arrayX)
stringObject.concat() 與 Array.concat() 相似,但是對于字符串來說,使用+運算符來連接會比stringObject.concat()簡單快速得多
| 參數(shù) | 描述 |
|---|---|
| arrayX | 必需。該參數(shù)可以是具體的值,也可以是數(shù)組對象??梢允侨我舛鄠€。 |
- 返回一個新的數(shù)組。該數(shù)組是通過把所有 arrayX 參數(shù)添加到 arrayObject 中生成的。如果要進行 concat() 操作的參數(shù)是數(shù)組,那么添加的是數(shù)組中的元素,而不是數(shù)組。
let arr = ["how","are","you","today"];
let arr1 = arr.concat(1,2);
let arr2 = [4,5,6];
let arr3 = arr1.concat(arr2)
console.log(arr); // ["how", "are", "you", "today"]
console.log(arr1); // ["how", "are", "you", "today", 1, 2]
console.log(arr3); // ["how", "are", "you", "today", 1, 2, 4, 5, 6]
7、join:arrayObject.join(separator)
| 參數(shù) | 描述 |
|---|---|
| separator | 可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號作為分隔符。 |
- 返回一個字符串。該字符串是通過把 arrayObject 的每個元素轉(zhuǎn)換為字符串,然后把這些字符串連接起來,在兩個元素之間插入 separator 字符串而生成的。
let arr = ["how","are","you","today"];
let str1 = arr.join();
let str2 = arr.join('');
let str3 = arr.join('-');
console.log(str1); // how,are,you,today
console.log(str2); // howareyoutoday
console.log(str3); // how-are-you-today
8、join:arrayObject.reverse()
注:該方法會改變原來的數(shù)組,而不會創(chuàng)建新的數(shù)組。
let arr = ["how","are","you","today"];
arr.reverse();
console.log(arr); // ["today", "you", "are", "how"]
9、join:arrayObject.splice(index,howmany,item1,.....,itemX)
splice() 方法與 slice() 方法的作用是不同的,splice() 方法會直接對數(shù)組進行修改。
| 參數(shù) | 描述 |
|---|---|
| index | 必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 |
| howmany | 必需。要刪除的項目數(shù)量。如果設置為 0,則不會刪除項目。 |
| item1,.....,itemX | 可選。向數(shù)組添加的新項目。 |
9.1、向數(shù)組中添加元素
let arr = ["how","are","you","today"];
let arr1 = arr.splice(2,0,'a');
console.log(arr); // ["how", "are", "a", "you", "today"]
console.log(arr1) // []
9.2、替換數(shù)組中某個位置的元素
let arr = ["how","are","you","today"];
let arr1 = arr.splice(2,1,'a');
console.log(arr); // ["how", "are", "a", "today"]
console.log(arr1) // ["you"]
9.3、刪除數(shù)組中的元素
// 指定刪除個數(shù)
let arr = ["how","are","you","today"];
let arr1 = arr.splice(2,1);
console.log(arr); // ["how", "are", "today"]
console.log(arr1) // ["you"]
// 不指定刪除個數(shù),則從index開始刪到結(jié)尾
let arr = ["how","are","you","today"];
let arr1 = arr.splice(2);
console.log(arr); // ["how", "are"]
console.log(arr1) // ["you", "today"]
// 刪除指定個數(shù),并且添加元素(等同于:用添加的元素來代替所需要刪除的元素)
let arr = ["how","are","you","today"];
let arr1 = arr.splice(1,3,'a','b');
console.log(arr); // ["how", "a", "b"]
console.log(arr1) // ["are","you", "today"]
參考文章:
1、JavaScript String 對象
2、JavaScript Array 對象