JavaScript之干货(八)--- JavaScript内置对象②(Array、Date)

9.1 内置对象:Array()

方法一:连接数组:join()

join()方法以指定参数作为分隔符(与字符串中的split()相反),将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔:

let arr = [1, 2, 3, 4];

arr.join(' ') // '1 2 3 4'
arr.join(' | ') // "1 | 2 | 3 | 4"
arr.join() // "1,2,3,4"

方法二:倒序排列:reverse()
颠倒元素,返回数组

let arr = ['a', 'b', 'c'];

arr.reverse() // ["c", "b", "a"]
arr // ["c", "b", "a"]

方法三:排序:sort()
sort方法对数组成员进行排序,默认是按照字典顺序排序。如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数。

let arr = [
  { name: 'jenny', age: 18 },
  { name: 'tom', age: 10 },
  { name: 'mary', age: 40 }
];

arr.sort(function(a, b) {
  return a.age - b.age;//>0:a在b后面,<0:a在b在前面
});

console.log(arr);
数组的循环遍历:

有返回值的遍历map():

先看 map 方法的使用,它接受一个函数,然后将数组的所有成员依次传入这个参数函数,最后把每一次的执行结果组成一个新数组返回:

let arr = [
  { name: 'jenny', age: 18 },
  { name: 'tom', age: 10 },
  { name: 'mary', age: 40 }
];

// elem: 数组成员
// index: 成员下标
// a: 整个数组
const handledArr = arr.map(function(elem, index, a) {
  elem.age += 1;
  console.log(elem, index, a);
  return elem.name
});

console.log(arr);
console.log(handledArr);
elem:表示依次传入的数组成员对象
index:表示依次传入的数组成员所对应在数组中的下标
a:表示原先的整个数组
无返回值的遍历:forEach

forEach 的用法和 map 基本一致,不过 forEach 没有返回值:

const handledArr = arr.forEach(function(elem, index, a) {
  elem.age += 1;
  console.log(elem, index, a);
  return elem.name
});

console.log(handledArr);//underfined

小结:

在这里插入图片描述

9.2 内置对象:Date()

方法一:获取当前时间 new Date()
let now = new Date();
console.log(now);//切记:返回的是一个时间对象
// 传入表示“年月日时分秒”的数字
let dt1 = new Date(2020, 0, 6, 0, 0, 0);
console.log(dt1);

// 传入日期字符串
let dt2 = new Date('2020-1-6');
console.log(dt2);

// 传入距离国际标准时间的毫秒数
let dt3 = new Date(1578240000000);
console.log(dt3);

9.3 内置对象Date的日期计算

时间差:毫秒数
let dt1 = new Date(2020, 2, 1);
let dt2 = new Date(2020, 3, 1);

// 求差值
let diff = dt2 - dt1;

// 一天的毫秒数
let ms = 24 * 60 * 60 * 1000;

console.log(diff / ms); // 31正好相差31天
早晚比较:大小于">" "<"符号
let dt1 = new Date(2020, 2, 1);
let dt2 = new Date(2020, 3, 1);

console.log(dt1 > dt2); // false
console.log(dt1 < dt2); // true
解析日期字符串:Date.parse()

此方法可以把日期字符串转成距离时间零点的毫秒数。

let dt = Date.parse('2020-1-6');
console.log(dt); // 1578240000000
时间对象中三大类方法 to 方法、get 方法和 set 方法

toJSON()方法:

let dt = new Date();
let dtStr = dt.toJSON();//2020-04-01T10:09:11.426Z 

console.log(dtStr); // 2020-01-03T09:44:18.220Z
					//打印的时间和当前的时间差 8 个小时,
					//这是因为打印的时间是现在UTC 时区的时间,
					//而我们的时间是东八区时间,
					//比国际标准时间快 8 个小时。
get()方法:获取时间对象的某一个的值:
let dt = new Date();
dt.getTime(); // 返回实例距离1970年1月1日00:00:00的毫秒数。
dt.getDate(); // 返回实例对象对应每个月的几号(从1开始)。
dt.getDay(); // 返回星期几,星期日为0,星期一为1,以此类推。
dt.getFullYear(); // 返回四位的年份。
dt.getMonth(); // 返回月份(0表示1月,11表示12月)。
dt.getHours(); // 返回小时(0-23)。
dt.getMilliseconds(); // 返回毫秒(0-999)。
dt.getMinutes(); // 返回分钟(0-59)。
dt.getSeconds(); // 返回秒(0-59)。
注意,所有这些get方法返回的都是整数,不同方法返回值的范围不一样:
  分钟和秒:059
  小时:023
  星期:0(星期天)到 6(星期六)
  日期:131
  月份:0(一月)到 11(十二月)
set()方法:设置时间对象的某一个的值:
  • List item

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值