零基础JavaScript学习【第八期】

     阅读:46

博主有话说:嘿嘿,第八期还不是结尾,还有一个字符串对象没有说,下一期真的要完结了。感谢大家伙的支持。

个人空间:GUIDM的个人空间

专栏内容:零基础JavaScript学习

基础还是关键。

欢迎大家的一键三连。

这一期讲的是,日期对象和数组对象以及一些简单的案例题。

日期对象

定义

是一个构造函数必须用new来调用

var arr=new Arry();//创建一个数组对象
var object=new Object();//创建一个对象实例
var date=new Date();//创建一个日期对象

日期格式化

  • 返回当前日期的年

date.getFullYear()
  • 返回当前月份

返回的月份小一个月,记得月份+1。

date.getMonth()+1
  • 返回当前日期是几号

date.getDate()
  • 返回当前日期的星期

周一返回1,周六返回6,周日返回0

date.getDay()
  • 返回当前时间的小时

date.getHours()
  • 返回当前时间的分钟

date.getMinutes()
  • 返回当前时间的秒

date.getSeconds()

获取日期的总的毫秒形式

获取Date总的毫秒数:距离1970年1月1日过了多少毫秒数

  • 通过valueOf() /getTime()

var date=new Date();
console.log(date.valueOf());
console.log(date.getTime());
  • 简单写法

var date=+new Date();

+new Date()返回的就是总的毫秒数

  • H5新增

Date.now()

简单案例

  • 返回2022年6月4日

 var date=new Date();
        var year=date.getFullYear();
        var month=date.getMonth()+1;
        var date=date.getDate();
        console.log('今天是'+year+'年'+month+'月'+date+'日');
  • 返回当前的时、分、秒 格式为00:00:00

function getTime(){
           var time=new Date();
           var h=time.getHours();
           h=h<10?'0'+h:h;
           var m=time.getMinutes();
           m=m<10?'0'+m:m;
           var s=time.getSeconds();
           s=s<10?'0'+s:s;
           return h+':'+m+':'+s;
       }
        console.log(getTime());
  • 倒计时

  1. 输入的时间-现在的时间
  2. 用时间戳来做,输入总的毫秒数减去现在时间总的毫秒数
 function countDown(time){
           var nowTime=+new Date();
           var inputTime=+new Date(time);
           var times=(inputTime-nowTime)/1000;
           var d=parseInt(times/60/60/24);
           d=d<10?'0'+d:d;
           var h=parseInt(times/60/60%24);
           h=h<10?'0'+h:h;
           var m=parseInt(times/60/60%60);
           m=m<10?'0'+m:m;
           var s=parseInt(times%60);
           s=s<10?'0'+s:s;
           return d+'天'+h+'时'+m+'分'+s+'秒';
       }
       console.log(countDown('2022-6-6 06:00:00'));
       var date=new Date( );
       console.log(date);

 数组对象

数组对象的创建

  • 利用数组字面量创建

var arr=[1,2,3];
console.log(arr[0]);
  • 利用new Array()

只写1个值表示长度,写2个或2个以上则表示数组元素。

var arr1=new Array(2);//长度为2 里面有两个空的元素
var arr2=new Array(2,3);//等价于[2,3]

检测是否为数组

  • instanceof

var arr=[];
console.log(arr instanceof Array);
  • Array.isArray(参数);

console.log(Array.isArray(arr));
console.log(Array.isArray(obj));

添加、删除数组元素的方法

  • push()在数组的末尾添加一个或多个数组元素

  1. push是可以给数组追加新的元素
  2. push参数直接写数组元素
  3. push完毕之后,返回结果是新数组的长度
  4. 原数组也会发生变化
var arr=[1,2,3];
arr.push(3);
arr.push(3,'gui');
  • unshift()在数组的开头添加一个或多个数组元素

  1. unshift在数组前追加新的元素
  2. unshift参数直接写数组元素
  3. 返回的结果是新数组的长度
  4. 原数组也会发生变化
var arr=[1,2,3];
arr.unshift('red');
  • pop()删除数组的最后一个元素

  1. pop删除数组的最后一个,只删除一个
  2. pop没有参数
  3. pop完毕后,返回的结果是删除的那个元素
  4. 原数组会发生变化
var arr=[1,2,3];
arr.pop();
  • shift()删除数组的第一个元素

  1. shift删除数组的第一个元素,只删一个
  2. shift没有参数
  3. shift完毕之后,返回的结果是删除的那个元素
  4. 原数组会发生变化
var arr=[1,2,3];
arr.shift();

 数组排序

  • 翻转数组reverse()

var arr=['green','orange','black'];
arr.reverse();
console.log(arr);
  • 数组排序(冒泡排序)sort()

a-b升序 b-a降序

var arr=[3,4,7,1,8];
arr.sort(function(a,b){
 return a-b;
});
console.log(arr);

数组索引方法

  • indexOf()

返回该数组元素的索引号,只返回第一个满足的,如果找不到则返回-1,从前往后查找。

var arr=['red','black','pink','orange'];
console.log(arr.indexOf('black'));//1
  • lastIndexOf()

从后往前找,返回最后一个满足的索引号,找不到返回-1

var arr=['red','black','pink','orange'];
console.log(arr.lastIndexOf('black'));//2

数组转换为字符串

  • toString()将数组转换为字符串

var arr=[1,2,3];
console.log(arr.toString());//1,2,3
  • jion(分隔符)用于把数组中的所有元素隔开来

默认为,隔开

var arr=['green','black','pink','blue'];
console.log(arr.join());
console.log(arr.join(-));
  • concat()

用于连接两个或多个数组(不影响原数组),返回值为一个数的数组

  • slice()

数组截取slice(begin,end)返回值为被截取项目的新数组

  • splice()

数组删除splice(第几个开始,要删除的个数),返回值为被删除项目的新数组,会影响原数组。


简单案例

  • 翻转数组

   function reverse(arr){
           if(arr instanceof Array){
               var newArr=[];
               for (var i=arr.length-1;i>=0;i--){
                   newArr[newArr.length]=arr[i];
               }
               return newArr;

           }else{
               return 'error';
           }
       }
       console.log(reverse([1,2,3]));//[3,2,1]
       console.log(reverse(1,2,3));//error
  • 有一个数组,删除数组中的重复元素。

function unique(arr){
        var newArr=[];
        for (var i=0;i<arr.length;i++){
            if(newArr.indexOf(arr[i])===-1){
                newArr.push(arr[i]);
            }
        }
        return newArr;
    }
    var demo=unique(['c','b','b','a','d','a','e']);
    console.log(demo);