那些好用的 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值