目錄
字符串:
1雏亚、split:把字符串分割為字符串?dāng)?shù)組盛卡;
2系任、indexOf(lastIndexOf):從前往后檢索字符串(從后往前檢索字符串)新症;
3步氏、charAt:返回在指定位置的字符;
4徒爹、substring:提取字符串中兩個(gè)指定的索引號(hào)之間的字符荚醒;數(shù)組和字符串都有的方法:
5、slice:提取字符串的片斷隆嗅,并在新的字符串中返回被提取的部分界阁;從某個(gè)已有的數(shù)組返回選定的元素。數(shù)組:
6胖喳、concat:連接兩個(gè)或更多的數(shù)組泡躯,并返回結(jié)果。
7丽焊、join:把數(shù)組的所有元素放入一個(gè)字符串较剃。元素通過指定的分隔符進(jìn)行分隔;
8技健、reverse:顛倒數(shù)組中元素的順序
9重付、splice:向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目凫乖。該方法會(huì)改變原始數(shù)組确垫。
示例
1弓颈、split:stringObject.split(separator,howmany)
參數(shù) | 描述 |
---|---|
separator | 字符串或正則表達(dá)式,從該參數(shù)指定的地方分割stringObject |
howmany | 可選删掀,該參數(shù)可指定返回的數(shù)組的最大長度翔冀。如果設(shè)置了該參數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組披泪。如果沒有設(shè)置該參數(shù)纤子,整個(gè)字符串都會(huì)被分割,不考慮它的長度款票。 |
返回:一個(gè)字符串?dāng)?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)的最后一個(gè) searchvalue 的位置
返回searchvalue在stringObject中的位置,若沒有胀莹,則返回-1;若有多個(gè)婚温,如果不是用正則表達(dá)式全局匹配描焰,則返回匹配到的第一個(gè)。
注:對大小寫敏感栅螟。
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 :返回匹配到的第一個(gè)o的位置
console.log(index2); // -1 :從7開始檢索荆秦,檢索不到返回-1
console.log(index3); // 19
console.log(index4); // 2:在位置7之前就存在w,所以返回的是最后一個(gè)w的位置
3力图、charAt:stringObject.charAt(index)
參數(shù) | 描述 |
---|---|
index | 必需步绸。表示字符串中某個(gè)位置的數(shù)字,即字符在字符串中的下標(biāo)吃媒。 |
注:字符串中第一個(gè)字符的下標(biāo)是 0瓤介。如果參數(shù) index 不在 0 與 string.length 之間吕喘,該方法將返回一個(gè)空字符串。
let str="How are you doing today ?"
let str1 = str.charAt(6);
console.log(str1); // e
4刑桑、substring:stringObject.substring(start,stop)
參數(shù) | 描述 |
---|---|
start | 必需氯质。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 stringObject 中的位置祠斧。 |
stop | 可選闻察。一個(gè)非負(fù)的整數(shù),比要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1琢锋。如果省略該參數(shù)辕漂,那么返回的子串會(huì)一直到字符串的結(jié)尾。(結(jié)束的位置不包含stop) |
- 返回一個(gè)新的字符串吴超,包括 start 處的字符钉嘹,但不包括 stop 處的字符。
如果參數(shù) start 與 stop 相等烛芬,那么該方法返回的就是一個(gè)空串(即長度為 0 的字符串)隧期。如果 start 比 stop 大,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(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 | 要抽取的片斷的起始下標(biāo)性置。如果是負(fù)數(shù),則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置揍堰。也就是說鹏浅,-1 指字符串的最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符屏歹,以此類推隐砸。 |
end | 緊接著要抽取的片段的結(jié)尾的下標(biāo)。若未指定此參數(shù)蝙眶,則要提取的子串包括 start 到原字符串結(jié)尾的字符串季希。如果該參數(shù)是負(fù)數(shù),那么它規(guī)定的是從字符串的尾部開始算起的位置幽纷。 |
- 返回一個(gè)新的字符串式塌。包括字符串 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ù)可以為負(fù)數(shù)峰尝,如果起始位置為負(fù)數(shù),則從字符串最后一位向前找對應(yīng)位數(shù)并且向后取結(jié)束位置收恢,如果為正整數(shù)則從前往后取起始位置到結(jié)束位置武学。
2.substring()只能非負(fù)整數(shù)祭往,截取起始結(jié)束位置同slice()函數(shù)一致。
以上三種函數(shù)未填第二參數(shù)時(shí)劳淆,自動(dòng)截取起始位置到字符串末尾链沼。
6、concat:arrayObject.concat(arrayX,arrayX,......,arrayX)
stringObject.concat() 與 Array.concat() 相似沛鸵,但是對于字符串來說括勺,使用+運(yùn)算符來連接會(huì)比stringObject.concat()簡單快速得多
參數(shù) | 描述 |
---|---|
arrayX | 必需。該參數(shù)可以是具體的值曲掰,也可以是數(shù)組對象疾捍。可以是任意多個(gè)栏妖。 |
- 返回一個(gè)新的數(shù)組乱豆。該數(shù)組是通過把所有 arrayX 參數(shù)添加到 arrayObject 中生成的。如果要進(jìn)行 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ù)屁奏,則使用逗號(hào)作為分隔符岩榆。 |
- 返回一個(gè)字符串。該字符串是通過把 arrayObject 的每個(gè)元素轉(zhuǎn)換為字符串坟瓢,然后把這些字符串連接起來勇边,在兩個(gè)元素之間插入 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()
注:該方法會(huì)改變原來的數(shù)組粒褒,而不會(huì)創(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() 方法會(huì)直接對數(shù)組進(jìn)行修改。
參數(shù) | 描述 |
---|---|
index | 必需怕享。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置镰踏,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置函筋。 |
howmany | 必需。要?jiǎng)h除的項(xiàng)目數(shù)量奠伪。如果設(shè)置為 0跌帐,則不會(huì)刪除項(xiàng)目首懈。 |
item1,.....,itemX | 可選。向數(shù)組添加的新項(xiàng)目谨敛。 |
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ù)組中某個(gè)位置的元素
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ù)組中的元素
// 指定刪除個(gè)數(shù)
let arr = ["how","are","you","today"];
let arr1 = arr.splice(2,1);
console.log(arr); // ["how", "are", "today"]
console.log(arr1) // ["you"]
// 不指定刪除個(gè)數(shù)最仑,則從index開始刪到結(jié)尾
let arr = ["how","are","you","today"];
let arr1 = arr.splice(2);
console.log(arr); // ["how", "are"]
console.log(arr1) // ["you", "today"]
// 刪除指定個(gè)數(shù),并且添加元素(等同于:用添加的元素來代替所需要?jiǎng)h除的元素)
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 對象