String补充
replace 加函数表达
let str = 'kittyki';
let str2 = str.replace('ki',function(){ //表示选中首个
return 'he';
})
console.log(str2);//返回值hettyki
let str3 = str.replaceAll('ki',function(){//表示选中所有
return 'he';
})
console.log(str3);//返回值hettyhe
substring() 方法
提取字符串中两个之间的索引号之间的字符
substring方法的两个参数
第一个表示以下标为多少的字符开头,包括该字符,
第二个表示以下标为多少的字符结尾,不包括该字符 例如:
let str = 'hello kitty';
let n = str.substring(1,3); //提取索引1-3之间的值
console.log(n,str);返回值el hello kitty
如果只传一个下标,表示你从这个下标开始到最后.
//let str = 'hello kitty';
// let n = str.substring(1,str.length);
// console.log(n);//返回值ello kitty
slice()方法
也是表示下标截取 与substring用法一样
let str = '我们都是石头人';
str2 = str.slice(0,4);
console.log(str2);//返回值 我们都是
slice 和substring的区别 substring不能用负数作为下标,如果使用负数就会提取全部的值 例如:
let str3 = str.slice(-3);
console.log(str3);//返回值 石头人
let str4 = str.substring(-3);
console.log(str4); //返回值 我们都是石头人
练习
把['abc','qwe'] 转成 abcQwe 使用slice方法用负数写,代码如下
let str = ['abc','qwe'];
let str2 = str.join('');
console.log(str2);//返回值 abcqwe
let str3 = str2.slice(-3,-2).toUpperCase()+str2.slice(-2);
let str4 = str2.slice(-str2.length,-3) +str3
console.log(str4);//返回值 abcQwe
Math
用于执行数学任务
ceil方法
对数进行上舍入
Math.ceil(25.1) =>26
Math.ceil(25.9) =>26
负数-号后面的数字越大值越小
Math.ceil(-25.9) =>25 因为-25比-25.9的值要大
floor方法
对数进行下舍入
等于帮你把小数点后面的去掉
Math.floor(25.9) =>25
负数-号后面的数字越大 值越小
Math.floor(-25.4) => -26 因为-26比-25.4要小
round方法
把数四舍五入为最接近的数
Math.round(25.6) =>26
Math.round(25.4) => 25
负数
Math.round(-25.6) => -26
Marh.round(-25.4) => -25
round特殊点
要满足两个条件
1.是负数
2.第二个小数为是5
Math.round(-25.5) // 返回值是-25
random方法
返回0.0~1.0之间的随机数
包括0但是不包括1
随机数公式 Math.floor(Math.random()*(max-min+1)+min); 随机出现0~10之间的数 包括0 不包括10
Math.floor(Math.random()*(10-0)+0);
练习随机数
在页面中打印10个10~100随机数 并从大到小排序,代码如下
let str = []; //创建一个空数组
for(var i = 0; i <=10;i++){ //使用for循环打印十次
let num = Math.floor(Math.random()*(100-10))+ 10; //声明一个新变量使用公式
str.push(num); //在str数组中添加
}
str.sort(function(a,b){ //排序
return a-b;
})
document.write(str);
在页面中打印10个10~100随机数 并从大到小排序,并且去重,代码如下:
let arr1 = [];
let arr2 = [];
for(var i =0;i<=10;i++){
arr1.push(Math.floor(Math.random()*(100-10))+10);
};
for(var j =0;j<i;j++){
if(arr2.indexOf(arr1[j])==-1){
arr2.push(arr1[j]);
}
}
arr2.sort(function(a,b){
return a-b;
})
document.write(arr2);