关于js的实用高阶函数的用法

一下是我个人总结常用的一些关于JavaScript的高阶函数的用法:

1、关于取数组中最大值的做法6

scoreEst= Math.max.apply(Math, allMan.map(function(item) {return item.score.total }))   求数组最大值

2、抽取对象数组中的对象的某项,重组数组。

let teamIdData = myUserInfo.myTeam.map(item => item['teamID']);  将数组中指定的值抽取出来

抽取符合值存在数组的值

3、抽取对象数组中中包含某项值的的对象取出来,重组数组。

let joinData1 = masterAllMan.filter(item =>(masterMan.includes(item.openid)==true))

4、为数组对象添加某一属性  遍历处理(常用于初始化数组)

masterAllMan=masterAllMan.map(v => {

return { ...v, asSelected: 11111 }

})

 

5、数组的排序

  • 简单的可以直接使用ES6方法操作即可
  • 对象数组使用函数的方法对其进行处理
	

let compare = this.curGoodData.sort(this.compare('PROSAILENUM'));

// 排序功能  参数说明:传入排序属性名即可
     compare(prop) {
		return function(obj1, obj2) {
				let val1 = obj1[prop];
				let val2 = obj2[prop];
				if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
					val1 = Number(val1);
					val2 = Number(val2);
				}
				if (val1 < val2) {
					return -1;
				} else if (val1 > val2) {
					return 1;
				} else {
					return 0;
				}
			};
		},

 

注意:1、上面的的各种函数用法可以耦合起来用,去实现自己的一些用法。

上面只是自己一些简单的记录而已,不作为严谨教程。使用上面的函数可能会出现一些意外情况,例如深浅拷贝的问题。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值