博主有话说:嘿嘿,第八期还不是结尾,还有一个字符串对象没有说,下一期真的要完结了。感谢大家伙的支持。
个人空间: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());
-
倒计时
- 输入的时间-现在的时间
- 用时间戳来做,输入总的毫秒数减去现在时间总的毫秒数
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);