JavaScript学习-日期对象、数组对象

简介: 日期对象 数组对象

日期对象

定义

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

vararr=newArry();//创建一个数组对象varobject=newObject();//创建一个对象实例vardate=newDate();//创建一个日期对象

image.gif

日期格式化

  • 返回当前日期的年
date.getFullYear()


  • 返回当前月份

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

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


    • 返回当前日期的星期

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

    date.getDay()


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


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


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

    image.gif

    获取日期的总的毫秒形式

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

      • 通过valueOf() /getTime()
      var date=new Date();
      console.log(date.valueOf());
      console.log(date.getTime());

      image.gif

      • 简单写法
      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));

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

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

                    image.gif

                    • 数组排序(冒泡排序)sort()

                    a-b升序 b-a降序

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

                    image.gif

                    数组索引方法

                      • 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

                                    image.gif

                                      • 有一个数组,删除数组中的重复元素。
                                      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);

                                      image.gif

                                      目录
                                      相关文章
                                      |
                                      5月前
                                      |
                                      前端开发 JavaScript
                                      个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
                                      本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
                                      |
                                      JavaScript 前端开发
                                      如何在 JavaScript 中使用 __proto__ 实现对象的继承?
                                      使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
                                      |
                                      Web App开发 JavaScript 前端开发
                                      如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
                                      【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
                                      |
                                      5月前
                                      |
                                      前端开发
                                      个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
                                      这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
                                      |
                                      7月前
                                      |
                                      编解码 JavaScript 前端开发
                                      【Java进阶】详解JavaScript的BOM(浏览器对象模型)
                                      总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
                                      219 23
                                      |
                                      6月前
                                      |
                                      JavaScript 数据可视化 前端开发
                                      three.js简单实现一个3D三角函数学习理解
                                      1.Three.js简介 Three.js是一个基于JavaScript编写的开源3D图形库,利用WebGL技术在网页上渲染3D图形。它提供了许多高级功能,如几何体、纹理、光照、阴影等,以便开发者能够快速地创建复杂且逼真的3D场景。同时,Three.js还具有很好的跨平台和跨浏览器兼容性,让用户无需安装任何插件就可以在现代浏览器上观看3D内容。
                                      226 0
                                      |
                                      8月前
                                      |
                                      JavaScript 前端开发 API
                                      JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
                                      array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
                                      |
                                      8月前
                                      |
                                      数据采集 JavaScript 前端开发
                                      JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
                                      用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
                                      |
                                      12月前
                                      |
                                      JSON 前端开发 JavaScript
                                      JavaScript中对象的数据拷贝
                                      本文介绍了JavaScript中对象数据拷贝的问题及解决方案。作者首先解释了对象赋值时地址共享导致的值同步变化现象,随后提供了五种解决方法:手动复制、`Object.assign`、扩展运算符、`JSON.stringify`与`JSON.parse`组合以及自定义深拷贝函数。每种方法都有其适用场景和局限性,文章最后鼓励读者关注作者以获取更多前端知识分享。
                                      184 1
                                      JavaScript中对象的数据拷贝