Math和Date

1.排序算法

sort()方法,用于对数组排序

注意:该排序方法,是根据数组中,每一个元素首字符的unicode编码进行排序的

let arr1=[1,5,9,36,88,11]

    console.log(arr1);

 1.冒泡排序算法

//冒泡排序

        let array=[1,8,96,55,88,11,22]

        for (let i = 0; i < array.length-1; i++) { //第一次把数组中的数全部循环一次

            for (let j = 0; j < array.length-1-i; j++) {

                if(array[j]>array[j+1]){//如果当前数大于当前数+1

                    let temp = array[j] //temp存入当前数

                    array[j]=array[j+1] //当前数+1位置变成当前数的位置

                    array[j+1]=temp //当前数+1的位置被当前数取代

                }

            }

        }

 2.选择排序算法

let array=[1,8,96,55,88,11,22]

        for (let i = 0; i < array.length-1; i++) {

            for (let j = i+1; j < array.length; j++) {

              if(array[i]>array[j]){

                let temp =array[i]

                array[i]=array[j]

                array[j]=temp

              }

            }

        }

2.Math对象

Math对象 里面提供的方法,可以帮助我们解决算术问题

// Math.random() 返回一个0到1之间的随机数

//  返回1-100的数 如果不包含100 Math.random()*(100-1)+1

//  返回1-100的数 如果包含100 Math.random()*(100+1-1)+1

    let num = Math.random()

    console.log(num);

    // abs() 返回一个数的绝对值

    let num1 = Math.abs(-1)

    console.log(num1);

    // ceil() 向上取整

    let num2=Math.ceil(98.5)

    console.log(num2); //99 整数+1

    // floor() 向下取整

    let num3 = Math.floor(99.5)

    console.log(num3); //99 抹小数点

    // max() 返回最大值  Math.max(value1, value2, value3, ...);

    let array = [1,3,5,6,4,0]

    let num4 = Math.max(...array) //6  ... es6拓展运算符

    console.log(num4);

    // min() 返回最小值

    let num5 = Math.min(...array)

    console.log(num5);//0

    //pow() 返回指定数的次幂

    let num6 =Math.pow(2,2) //第一个值传入需要次幂的数 第二个值传入次数

    console.log(num6); //4

    //round() 四舍五入

    let num7 = Math.round(99.1)

    console.log(num7); //99

    //PI属性,返回圆周率

    let num8 = Math.PI/5

    console.log(num8); //0.6283185307179586

3.Date对象

// 创建并返回系统当前日期

    let date=new Date()

    console.log(date);

    // 在创建日期对象时,可以传递一个时间戳参数

    // 时间戳:是从1970-1-1开始的毫秒数

    let date2= new Date(123456789)

    console.log(date2);

    // 也可以根据一个指定的时间,返回一个日期对象

    let date3 = new Date('2011-1-1 12:12:12')

    console.log(date3);

    // getFullYear() 返回年份 2021

    let year = date.getFullYear()

    console.log(year);

    //getMonth() 返回月份 返回的值是0-11(0表示1月份,11表示12月份) 11

    let month = date.getMonth()+1

    console.log(month);

    // getDate() 返回月份的日期 17

    let dates = date.getDate()

    console.log(dates);

    //getDay() 返回星期几 返回的值是0-6,(0表示星期天) 3

    let day = date.getDay()

    console.log(day);

    // getHours() 返回小时 返回的值是0-23(0表示凌晨12点) 21

    let hours = date.getHours()

    console.log(hours);

    // getMinutes() 返回分钟 57

    let minutes = date.getMinutes()

    console.log(minutes);

    //getSeconds() 返回秒 51

    let seconds = date.getSeconds()

    console.log(seconds);

    // getMilliseconds() 返回毫秒 559

    let millise = date.getMilliseconds()

    console.log(millise);

    // getTime() 返回时间戳 1637157471559

    let time = date.getTime()

    console.log(time);

    // getXXX方法用于获取时间对象中指定的部分

    // setXXX方法用于设置时间对象中指定的部分

练习题:计算两个日期相差多少天,注意:两日期对象相减,返回的是两个日期时间戳相减后的值

// 计算两个日期相差多少天,注意:两日期对象相减,返回的是两个日期时间戳相减后的值

    let now=new Date() //现在时间

    let past = new Date('2002-11-4')

    let time = now-past //返回的是两个日期的毫秒数 600819254014

    console.log(Math.floor(time/1000)); //600819262 秒

    console.log(Math.floor(time/1000/60)); //10013656分钟

    console.log(Math.floor(time/1000/60/60)); //166894小时

    console.log(Math.floor(time/1000/60/60/24));//6953 天数

你可能感兴趣的:(Math和Date)