一下是我个人总结常用的一些关于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、上面的的各种函数用法可以耦合起来用,去实现自己的一些用法。
上面只是自己一些简单的记录而已,不作为严谨教程。使用上面的函数可能会出现一些意外情况,例如深浅拷贝的问题。