JS 函数大杂烩
由于开发过这种,对与js的很多函数都不太属性.在面对百度开发的过程中.调试 + 搜索占用了过多的时间 .因此在这里对常用的一些函数进行汇整理. 方便下次开发直接取用 .该文字会再后期进行持续更新
数组 reduce() 函数
reduce
方法的使用面其实是很广的,比如完全可以代替for
和forEach
进行遍历操作. 但这里我介绍一些用的比较少的高级用法.
先介绍一下reduce
函数的参数说明
arr.reduce(callback,[initialValue])
#
callback
`
1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)
`
initialValue (作为第一次调用 callback 的第一个参数。)
复制代码
1. 计算属性
比如我们需要订单数据中, 对订单数量汇总
//模拟数据
var arr = [ {name:"A",price:25,num:12,},{name:"B",price:55,num:10},{name:"C",price:45,num:2}]
var res = arr.map(e =>e.num).reduce( (total,c) => total + (isFinite(c) ? c :0),0);
复制代码
2. 去重操作
关于去重操作, 今天在开发中遇到这个问题.百度了一段时间.网上提供了两种方案. 一个是自己封装一个方法,
一种是通过reduce
操作
- 传统方法
# taskName 这个是你需要去重操作的字段
function unique(arr) {
const res = new Map();
return arr.filter((a) => !res.has(a.name) && res.set(a.name, 1))
};
var data = [ {name:"A",price:25,num:12,},{name:"B",price:55,num:10},{name:"B",price:45,num:2}];
unique(data);
复制代码
2. reduce
去重
var data = [ {name:"A",price:25,num:12,},{name:"B",price:55,num:10},{name:"B",price:45,num:2}];
var obj = {};
data.reduce((cur, next)=> {
obj[next.name] ? "" : obj[next.name] = true && cur.push(next);
return cur;
},[]);
复制代码
map 函数
join 函数
filter函数
sort函数
keys 函数
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END