ES6扩展字符串和数组

新的方法出现时为了使功能更加完善和性能更加给力。

字符串原型上常用方法和新增方法:

charAt()方法 可String.prototype.charAt()

let str = 'asasa';
console.log(str.charAt(3)) //返回结果为s返回指定位置的字符(包括空格)

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。

方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。

let str = 'asasa';
console.log(str.charCodeAt(3))//返回结果为unicode编码中s对应的编码

slice(A,B) 表示从字符串的A位子开始,截取当前B的长度(光标定位在B截取不包括B).B可以不填,默认返回从A开始后面的

let str = 'asasa';
console.log(str.slice(2,3))//返回结果为a

indexOf(A,B) 索引查找。A表示需要查找字符串的子集或自己。B代表要查找的开始位子(优化查找),结果返回查找到的最开始位子索引值。(但是现实中我们想要的是判断字符串中有没有他返回结果是true或者false)

let str = 'as asa';
console.log(str.indexOf('sa',2)) //返回结果为4

自己封装一个判断子串方法

String.prototype.isInclude  = function (str){
    if(this.indexOf(str)!==-1){
        return true
    }else{
        return false
    }
}
console.log('1234'.isInclude('12')); //返回结果为true

split('A') 方法用于把一个字符串分割成字符串数组。参数A为分割的标准A可以不填写。常常和split一起使用的还有数组上的Array.join()方法(用于把数组中的所有元素放入一个字符串,不传参默认逗号分割)。

let str = '1,2,3,4,5,6,7,8';
console.log(str.split(',')) //返回结果为一个数组。数组的每位还是一个单独的字符串

toUpperCase() 把字符串中有小写字母变成大写,其他数字汉字不变。

let str = 'nihao 123 好';
console.log(str.toUpperCase()) //返回结果把小写字母变成大写,其他不变。

toLowerCase() 把字符串中有大写的转化成小写,其他不变

let str = 'NIHAO 123 好';
console.log(str.toLowerCase()) //返回结果把大写字母变成小写,其他不变。

新增方法:

includes(A,B) 判断子串A在不在字符串中,B代表从哪个位子开始判断。结果返回true或者false

let str = '12213';
console.log(str.includes('12'));//返回结果true

startsWith(A,B)和 endsWith(A.B) 分别表示从B位子开始(不写默认开头和结尾),起始位子(结束位子)是不是A这个子串(从以下代码可以看出直接传入数字会发生类型转换)(适用:前缀和后缀的筛选和分类)

let str = '12213';
console.log(str.startsWith(12),str.endsWith(12));

你可能感兴趣的:(ES6扩展字符串和数组)