文章目录

  • 1、concat() 方法:连接数组
  • 2、find() 方法—ES6:查找元素
  • 3、findIndex() 方法—ES6:查找元素
  • 4、日期处理函数
  • 4.1 format():格式化时间
  • 4.2 setDate():设置为几天前
  • 4.3 getDate():获取某一天
  • 5、moment.js :JavaScript 日期处理类库
  • 日期格式化
  • 相对时间
  • 日历时间
  • 多语言支持


1、concat() 方法:连接数组

concat()

描述

作用

用于连接两个或多个数组

返回值

不改变原数组,返回被连接数组的一个副本(该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果参数是数组,那么添加的是数组中的元素,而不是数组。)

语法

arrayObject.concat( arrayX,arrayX,…,arrayX )

参数

描述

arrayX

必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

例子:

<script type="text/javascript">
	var a = [1,2,3];
	document.write(a.concat(4,5));
</script>

输出:

1,2,3,4,5

2、find() 方法—ES6:查找元素

find()函数

用来查找目标元素,找到就返回该元素,找不到返回undefined

语法

data.find(function(‘数组当前行数据’,‘下标’,‘数组本身’){})

例子:

var data = [
  {checked: false,goodsName: '商品1',price: 10},
  {checked: false,goodsName: '商品2',price: 20},
  {checked: true,goodsName: '商品3',price: 20}
]
var row = data.find(item => item.price > 10) // 返回第一个匹配结果为 true 的数组元素
console.log(row)

结果输出:第一个匹配结果为 true 的数组元素

{
  checked: false, goodsName: "商品2", price: 20
}

3、findIndex() 方法—ES6:查找元素

findIndex()函数

用来查找目标元素,找到就返回元素的位置,找不到就返回-1

语法

data.find(function(‘数组当前行数据’,‘下标’,‘数组本身’){})

例子:

var data = [
  {checked: false,goodsName: '商品1',price: 10},
  {checked: false,goodsName: '商品2',price: 20},
  {checked: true,goodsName: '商品3',price: 20}
]
var index = data.findIndex(item => item.price > 10)
console.log(index)

结果输出:第一个匹配结果为 true 的数组元素的位置(不是下标)

1

4、日期处理函数

4.1 format():格式化时间

参数

结果

format(‘yyyy年MM月dd日 hh时mm分ss秒’)

2020年05月10日 10时10分10秒

format(‘yyyy年MM月dd日’)

2020年05月10日

format(‘YYYY年MM月’)

2020年05月

format(‘YYYY年’)

2020年

format(‘YYYY年Q季’)

2020年1季

得到中国标准时间格式:

var date = new Date('2019-01-13 00:00:00'); // Sun Jan 13 2019 08:00:00 GMT+0800 (中国标准时间)

4.2 setDate():设置为几天前

setDate() 方法

用于设置一个月的某一天

参数

描述

day

必需。表示一个月中的一天的一个数值(1 ~ 31):0 为上一个月的最后一天,-1 为上一个月最后一天之前的一天;如果当月有 31 天:32 为下个月的第一天;如果当月有 30 天:32 为下一个月的第二天

实例:设置一个月的某一天为上个月的最后一天

var d = new Date();
d.setDate(0);

d 输出结果:

Thu Apr 30 2020 18:03:03 GMT+0800 (中国标准时间)
var date = new Date();
date.setDate(date.getDate()-7);
date = date.format('yyyy年MM月dd日');

4.3 getDate():获取某一天

getDate()

返回月份的某一天

返回值

1 ~ 31 之间的一个整数

实例1:

var d = new Date()
d.getDate()

输出:

28

实例2:

var d = new Date("July 21, 1983 01:15:00")
d.getDate()

输出:

21

5、moment.js :JavaScript 日期处理类库

moment.js 中文网

日期格式化

moment().format('MMMM Do YYYY, h:mm:ss a'); // 五月 28日 2020, 6:15:51 晚上
moment().format('dddd');                    // 星期四
moment().format("MMM Do YY");               // 5月 28日 20
moment().format('YYYY [escaped] YYYY');     // 2020 escaped 2020
moment().format();                          // 2020-05-28T18:15:51+08:00

相对时间

moment("20111031", "YYYYMMDD").fromNow(); // 9 年前
moment("20120620", "YYYYMMDD").fromNow(); // 8 年前
moment().startOf('day').fromNow();        // 18 小时前
moment().endOf('day').fromNow();          // 6 小时内
moment().startOf('hour').fromNow();       // 16 分钟前

日历时间

moment().subtract(10, 'days').calendar(); // 2020/05/18
moment().subtract(6, 'days').calendar();  // 上星期五18:15
moment().subtract(3, 'days').calendar();  // 上星期一18:15
moment().subtract(1, 'days').calendar();  // 昨天18:15
moment().calendar();                      // 今天18:15
moment().add(1, 'days').calendar();       // 明天18:15
moment().add(3, 'days').calendar();       // 下星期日18:15
moment().add(10, 'days').calendar();      // 2020/06/07

多语言支持

moment.locale();         // zh-cn
moment().format('LT');   // 18:15
moment().format('LTS');  // 18:15:51
moment().format('L');    // 2020/05/28
moment().format('l');    // 2020/5/28
moment().format('LL');   // 2020年5月28日
moment().format('ll');   // 2020年5月28日
moment().format('LLL');  // 2020年5月28日晚上6点15分
moment().format('lll');  // 2020年5月28日 18:15
moment().format('LLLL'); // 2020年5月28日星期四晚上6点15分
moment().format('llll'); // 2020年5月28日星期四 18:15