项目在需要对数据做处理的时候,经常需要百度一些最简单的数组、字符串方法,很是浪费时间;对这些方法经常回顾、归纳、总结,coding效率会更高一些,本文章将会对常用处理数据场景及方法做总结,希望对你有所帮助。
1场景归纳
-
根据indexOf的结果是否为-1判断是否包含这个字符串
ant design pro中判断是否有管理员权限
-
'admin'.indexOf(getAuthority()) !== -1
-
用户select选项有先后顺序,选项1需在选项2前选择
lastIndexOf(选项1)>indexOf(选项2)
-
判断文件名的后缀是否为.tar
filename.substr(-4)===’.tar’
2方法归纳
var str = "123";
2.1属性
- lengh
console.log(str.length); // 3
- contructor
console.log(str.constructor); // ƒ String() { [native code] }
2.2方法
2.2.1查找类型
- charAt 返回在指定位置的字符
console.log(str.charAt(0)); // 1
console.log(str.charAt(str.length-1)); // 3
- charCodeAt 返回指定位置的字符的Unicode编码
console.log(str.charCodeAt(0)) // 49 位置0是1,1的Unicode编码是49
- fromCharCode 接收一个或多个指定的Unicode值,返回一个或多个字符串
console.log(String.fromCharCode(48)) // 0 console.log(String.fromCharCode(48,50)) // 02 多个
2.2.2获取类型
var str='abcda';
- indexOf 返回某个指定的字符串在字符串首次出现的位置;若找不到匹配,则返回-1
console.log(str.indexOf("a")); // 0 数字0
console.log(str.indexOf("bd")); // -1 数字-1
- lastIndexOf 返回指定的字符串值最后出现的位置
console.log(str.lastIndexOf("a")); // 4 数字4
- replace 将字符串中的一些字符替换为另一些字符;
console.log(str.replace("ab","12")); // 12cda
console.log(str.replace("a",12)); // 12bcda 只可替换第一次
console.log(str.replace(/(a)/g,"12"));// 12bcd12 替换所有
2.2.3截取类型
- slice(start,end) 从指定的开始位置到结束位置(不包括)的所有字符串,如果不指定结束位置,则从指定的开始位置取到结尾;slice参数可以是负数,如果是负数,从-1开始的是字符串结尾
console.log(str.slice(0,1)); // a
console.log(str.slice(0,-1)); // abcd
console.log(str.slice(-2,-1)); // d
console.log(str.slice(0)); // abcda 只传一个参数 截取到最后 abcda
- substring(start,end) 从指定的开始位置到结束位置(不包括)的所有字符串,如果不指定结束位置,则从指定的开始位置,取到结尾;与slice的区别是不接收负值
console.log(str.substring(0)); // abcda
- substr(start,length) 从指定的位置开始取指定长度的字符串,如果没有指定长度,从指定开始位置取到结尾
console.log(str.substr(1));// bcda
console.log(str.substr(1,2));// bc
2.2.4转换类型
- split(“分割位置”,[指定的长度]) 将严格字符串分割成数组
var str = "ab,c,da";
console.log(str.split(","));// ["ab","c","da"]
console.log(str.split(",",1));// ["ab"]
- toLowerCase 用于把字符串转化为小写,不用传参数
console.log(str.toLowerCase());// ab,c,da
- toUppercase 把字符串转化为大写,不用传参数
var str = "ab1cda";
console.log(str.toUpperCase());// AB1CDA
2.2.5样式类型
- fontColor() 给字符串指定颜色,十六进制表示 red rgb(255,0,0)