ES6之字符串扩展方法(常用)
es6這個(gè)String對(duì)象倒是擴(kuò)展了不少方法,但是很多都是跟字符編碼相關(guān),個(gè)人選了幾個(gè)感覺比較常用的方法;
?
includes 搜索字符的神器
?
還記得我們之前如何判斷某個(gè)字符串對(duì)象是否包含特地字符的嗎?
var str='google';if(str.indexOf('o')>-1){console.log('yes');}else{console.log('no');}?
indexOf本來只是一個(gè)獲取字符對(duì)應(yīng)位置的方法,因?yàn)檎业讲坏綍?huì)返回-1這個(gè)值,就成了判斷是否包含的方法,includes則就是判斷是否包含的直接返回布爾值;
let str='google';if(str.includes('o')){console.log('yes');}else{console.log('no');}?這樣更符合語義化,indexOf就是負(fù)責(zé)獲取位置,includes負(fù)責(zé)判斷包含關(guān)系;
?
startsWith ,endsWith 輕松定首尾
?
startsWith用于判斷是否位于頭部,endsWith判斷是否位于尾部,可以說這兩個(gè)方法是includes方法的擴(kuò)展;
let str='google';console.log(str.startsWith('g')); //trueconsole.log(str.endsWith('e')); //true?
repeat 懶人福利
?
顧名思義,這個(gè)方法就是可以獲取字符串重復(fù)N次后的方法;
let str='google';console.log(str.repeat(3)); //googlegooglegooglerepeat方法接受一個(gè)數(shù)字類型的參數(shù),可以是正式也可以是小數(shù),如果是浮點(diǎn)型會(huì)自動(dòng)調(diào)用Math.floor方法轉(zhuǎn)為整型;
let str='google';console.log(str.repeat(3.5)); //googlegooglegoogleconsole.log(str.repeat(Math.floor(3.5)));//googlegooglegoogle參數(shù)可以為0這樣就會(huì)返回一個(gè)空字符串,但是不能為負(fù)數(shù),否則會(huì)報(bào)錯(cuò);
let str='google';console.log(str.repeat(0)); //''console.log(str.repeat(-3.5));//RangeError: Invalid count value?
padStart,padEnd 缺啥補(bǔ)啥
?
這兩個(gè)方法其實(shí)是ES7標(biāo)準(zhǔn)下擴(kuò)展的方法,作用就是自動(dòng)補(bǔ)全;
let str='goo';str.padStart(5, 'le') // 'legoo'str.padStart(4, 'le') // 'lgoo'str.padEnd(5, 'le') // 'goole'str.padEnd(4, 'le') // 'gool'
這兩個(gè)方法類似都是接受兩個(gè)參數(shù),第一個(gè)是補(bǔ)全的長(zhǎng)度,第二個(gè)是要補(bǔ)充的內(nèi)容,由于是es7標(biāo)準(zhǔn)的方法,現(xiàn)在瀏覽器還不能直接運(yùn)行,可以嘗試借助babel運(yùn)行;
?
Babel 是一個(gè) JavaScript 編譯器
中文網(wǎng):http://babeljs.cn/
英文網(wǎng):http://babeljs.io/
?
轉(zhuǎn)載于:https://www.cnblogs.com/yy-hh/p/5808082.html
總結(jié)
以上是生活随笔為你收集整理的ES6之字符串扩展方法(常用)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VirtualBox 共享目录
- 下一篇: 5.在MVC中使用泛型仓储模式和工作单元