字符串的方法
- charAt()
- 作用:通过下标找到对应的字符串
var sty = "aewewerrer"; console.log(sty.charAt(0)); //a - charCodeAt()
- 作用:通过下标找到对应字符的 ASCll
var sty = "aewewerrer"; console.log(sty.charCodeAt(0)); //97 - indexOf()
- 作用:查找字符串中的元素下标,第一参数是你要查找的值,第二个值是你要限定的范围:indexOf 表示从这个下标开始,lastIndexOf 表示查找最后一次出现的位置
var sty = "aewewerrer"; console.log(sty.indexOf("e"));//1 console.log(sty.lastIndexOf("e"));//8 - slice()
- 作用:截取字符串,参数(m,n)包含 m,不包含 n;如果参数中有负数,用 length 加完后在处理
var sty = "aewewerrer"; console.log(sty.slice(3, 5)); - substring(n,m)
- 作用:和 slice 一样但是它不支持负数索引
- substr()
- 作用:第一个下标就是就是开始的位置,第二个参数表示截取几个
var sty = "aewewerrer"; console.log(sty.substr(3, 4));//ewer - toUpperCase()
- 作用:是把字符全部转化为大写
- toLowerCase()
- 作用:把字符全部转化为小写
- replace()
- 作用:替换掉数组中的相应字符替换掉,只能换掉第一个(一般配合正则使用)
var sty = "aewewerrer"; console.log(sty.replace("aew", "yyy")); //yyyewerrer - split()
-
作用:用符号将字符串分割成数组
var sty = "aewewerrer"; console.log(sty.split("")); //[a,e,w,e,w,e,r,r,e,r]
- 网址拆解
var str = "https://www.baidu.com/s?tn=44004473_41_oem_dg&ie=utf-8&wd=%E5%B0%8F%E7%B1%B3%E5%AE%98%E7%BD%91";
function preat(str) {
var strSlice = str.split("?");
var strArry = strSlice[1].split("&");
var obj = {};
for (var i = 0; i < strArry.length; i++) {
strArry[i] = strArry[i].split("=");
obj[strArry[i][0]] = strArry[i][1];
}
return obj;
}
console.log(preat(str));
Math 的常用方法
- Math.abs():绝对值
console.log(Math.abs(-1)); // 1 - Math.floor()向下取整,无论是正数还是负数都取小的
console.log(Math.floor(1.7));// 1 - Math.ceil()向上取整,无论是正数还是负数取的都是大的
console.log(Math.floor(1.7)); // 2 - Math.round()对小数四舍五入
console.log(Math.round(1.6)); // 2 - Math.sqrt()开平方
console.log(Math.sqrt(9)); // 3 - Math.pow(n,m)取幂
- Math.PI()圆周率 π
- Math.min()取最小值
- Math.max()取最大值
- math.random()取 0 到 1 不包含 1 的随机数
- Math.random()*(m-n)+n;//m:最大的值,n:最小的值,取随机的 n-m 之间的数
- 输出水仙花数
for (var i = 101; i < 1000; i++) {
var a = i % 10;
var b = Math.floor(i / 10 % 10);
var c = Math.floor(i / 100);
if (i == a * a * a + b * b * b + c * c * c) {
console.log(i)
}
}
- 获取每个字符串的个数
var str = "smonsigjagidngoaenaoenbognaehuraehuabeiaerbiuaeerbngaegnagnkanoiawnoawnegoagnoianoiangoanegioniognaewonoagawhgineaonboaernb";
obj = {};
for (var i = 0; i < str.length; i++) {
var key = str[i];
//判断数组中的属性名是否存在
if (typeof obj[key] === "undefined") {
obj[key] = 1;
//如果不存在就给属性值赋1
} else {
obj[key] += 1;
//如果存在就给属性值加一
}
}
var newMax = 0;
var code = '';
//遍历对象查找字符出现最多的数
for (var k in obj){
//判断如果出现辞职大于newMax就将这一项付给newMax
if(obj[k] > newMax){
newMax = obj[k];
code = k;
}
}
console.log(`字符串str中最大的字符是${code}一共有${newMax}个`);