日期对象
定义
是一个构造函数必须用new来调用
vararr=newArry();//创建一个数组对象varobject=newObject();//创建一个对象实例vardate=newDate();//创建一个日期对象
日期格式化
- 返回当前日期的年
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());
- 倒计时
- 输入的时间-现在的时间
- 用时间戳来做,输入总的毫秒数减去现在时间总的毫秒数
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()在数组的末尾添加一个或多个数组元素
- push是可以给数组追加新的元素
- push参数直接写数组元素
- push完毕之后,返回结果是新数组的长度
- 原数组也会发生变化
var arr=[1,2,3]; arr.push(3); arr.push(3,'gui');
- unshift()在数组的开头添加一个或多个数组元素
- unshift在数组前追加新的元素
- unshift参数直接写数组元素
- 返回的结果是新数组的长度
- 原数组也会发生变化
var arr=[1,2,3]; arr.unshift('red');
- pop()删除数组的最后一个元素
- pop删除数组的最后一个,只删除一个
- pop没有参数
- pop完毕后,返回的结果是删除的那个元素
- 原数组会发生变化
var arr=[1,2,3]; arr.pop();
- shift()删除数组的第一个元素
- shift删除数组的第一个元素,只删一个
- shift没有参数
- shift完毕之后,返回的结果是删除的那个元素
- 原数组会发生变化
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);