1. 程式人生 > >ES6學習之路(三) 字串擴充套件

ES6學習之路(三) 字串擴充套件

1.檢測字串中是否包含著另一個字串

indexOf(),startsWith(),endsWith(),includes()

let s='hello world!';

//檢測引數字串是否在源字串中,並返回引數字串位置
console.log(s.indexOf('l'))//true

//表示引數字串是否在源字串的頭部,返回布林值
console.log(s.startsWith('hello'))//true
console.log(s.startsWith('ello'))//false

//表示引數字串是否在源字串的尾部,返回布林值
console.log(s.endsWith('!'));//true
console.log(s.endsWith('d'));//false //表示引數字串是否在源字串中,返回布林值 console.log(s.includes('o'));//true console.log(s.includes('h'));//true

以上三種新方法都支援第二個引數,表示開始搜尋的位置;

startsWith(),includes() 第二引數與引數字串第一個字元的位置要相對應,否則false;
endsWith()從n開始不包含n的位置向前檢索也就是從n-1的位置檢索,如果n-1的位置不是該引數字元就返回false;

let s='hello world!';
//表示引數字串是否在源字串的頭部,返回布林值
console.log(s.startsWith('hello',6))//false 從第6個字元開始向後查詢引數字串,結果顯示沒有 false console.log(s.startsWith('ello',1))//true 從第2個字元向後查詢 ,檢索到引數字串,返回true console.log(s.startsWith('llo',1))//false 從第2個字元向後查詢 ,因為第二引數與引數字串第一個字元在源字串中的位置不相等,返回false。 //表示引數字串是否在源字串中,返回布林值 console.log(s.includes('o',6));//true console.log(s.includes('l'
,0));//true //表示引數字串是否在源字串的尾部,返回布林值 //從n開始不包含n的位置向前檢索也就是從n-1的位置檢索,如果n-1的位置不是該引數字元就返回false; console.log(s.endsWith('h',2));//true console.log(s.endsWith('d',6));//false

2.字串的複製函式;repeat()函式;

console.log('x'.repeat(3));//xxx x被重複三次

//如果引數是小數,會自動取整
console.log('x'.repeat(3.9));//xxx x還是重複三次

//如果引數小於等於-1或者是Infinity,會報錯
console.log('x'.repeat(-1));//Invalid count value
console.log('x'.repeat(Infinity));//Invalid count value

//如果引數在0到-1之間,或者NaN,或者不能被轉換成數值得的字串,就等同於0,
console.log('x'.repeat(-0.8));//''空
console.log('x'.repeat(NaN));//''空
console.log('x'.repeat('N'));//''空
console.log('x'.repeat('3'));//xxx 字串可以轉換為數值
console.log('x'.repeat('3g'));//''空

3.字串補全

1.頭部補全用 padStart();
2.尾部補全用 padEnd();
3.兩者共有兩個引數,第一個引數是字串最小長度,第二個引數用來補全的字串;

//最小長度5,源字串不夠最小長度,補上兩個補全字串,
//一個在頭部補全,一個在尾部補全;
console.log('x'.padStart(5,'ab'))//ababx
console.log('x'.padEnd(5,'ab'))//xabab

//如果補全字串與源字串相加的長度超出了最小長度,呢麼就擷取補全字串相對應的源字串長度
console.log('x'.padStart(4,'ab'))//abax
console.log('x'.padEnd(4,'ab'))//xaba

//如果省略第二個引數,那麼就用空格來作為補全字串
console.log('x'.padStart(4))//   x,
console.log('x'.padEnd(4))//x   ,

//常用的情景就是數值補0;
console.log('1'.padStart(2,'0'))//01
console.log('1'.padEnd(2,'0'))//10

4.字串模板

1.使用 “反引號標識
2.變數使用${},可以引用物件

具體可以參考阮一峰老師的ES6入門,字串擴充套件一節ES6入門