String内置对象-Math

148 阅读2分钟

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);