首页 > 代码库 > ES6之字符串扩展方法(常用)
ES6之字符串扩展方法(常用)
es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,个人选了几个感觉比较常用的方法;
includes 搜索字符的神器
还记得我们之前如何判断某个字符串对象是否包含特地字符的吗?
var str=‘google‘; if(str.indexOf(‘o‘)>-1){ console.log(‘yes‘); }else{ console.log(‘no‘); }
indexOf本来只是一个获取字符对应位置的方法,因为找到不到会返回-1这个值,就成了判断是否包含的方法,includes则就是判断是否包含的直接返回布尔值;
let str=‘google‘; if(str.includes(‘o‘)){ console.log(‘yes‘); }else{ console.log(‘no‘); }
这样更符合语义化,indexOf就是负责获取位置,includes负责判断包含关系;
startsWith ,endsWith 轻松定首尾
startsWith用于判断是否位于头部,endsWith判断是否位于尾部,可以说这两个方法是includes方法的扩展;
let str=‘google‘; console.log(str.startsWith(‘g‘)); //true console.log(str.endsWith(‘e‘)); //true
repeat 懒人福利
顾名思义,这个方法就是可以获取字符串重复N次后的方法;
let str=‘google‘; console.log(str.repeat(3)); //googlegooglegoogle
repeat方法接受一个数字类型的参数,可以是正式也可以是小数,如果是浮点型会自动调用Math.floor方法转为整型;
let str=‘google‘; console.log(str.repeat(3.5)); //googlegooglegoogle console.log(str.repeat(Math.floor(3.5)));//googlegooglegoogle
参数可以为0这样就会返回一个空字符串,但是不能为负数,否则会报错;
let str=‘google‘; console.log(str.repeat(0)); //‘‘ console.log(str.repeat(-3.5));//RangeError: Invalid count value
padStart,padEnd 缺啥补啥
这两个方法其实是ES7标准下扩展的方法,作用就是自动补全;
let str=‘goo‘;
str.padStart(5, ‘le‘) // ‘legoo‘ str.padStart(4, ‘le‘) // ‘lgoo‘ str.padEnd(5, ‘le‘) // ‘goole‘ str.padEnd(4, ‘le‘) // ‘gool‘
这两个方法类似都是接受两个参数,第一个是补全的长度,第二个是要补充的内容,由于是es7标准的方法,现在浏览器还不能直接运行,可以尝试借助babel运行;
Babel 是一个 JavaScript 编译器
中文网:http://babeljs.cn/
英文网:http://babeljs.io/
ES6之字符串扩展方法(常用)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。