reduce使用技巧
2024-09-03 00:29:51
一、使用reduce同时执行map(循环)和filter(过滤)
例如,将数组中的项的值加倍,然后只选择那些大于50的项
const numbers = [10, 20, 30, 40];
const doubledOver50 = numbers.reduce((finalList, num) => { num = num * 2; //(map) //filter number > 50
if (num > 50) {
finalList.push(num);
}
return finalList;
}, []);
doubledOver50; // [60, 80]
二、计算重复数组项或将数组转换为对象
var cars = [''宝马','奔驰','奔驰','特斯拉','宝马','丰田'];
var carsObj = cars.reduce(function(obj,name){
obj [name] = obj [name]?++ obj [name]:1;
return obj;
},{});
carsObj; // => {宝马:2,奔驰:2,特斯拉:1,丰田:1}
最新文章
- rinetd
- meta标签用法总结
- 《zw版·Halcon入门教程与内置demo》
- iOS检测用户截屏并获取所截图片
- SAP 采购订单行项目中科目分配被隐藏,发现行项目设置中显示字段长度为0
- js execCommand
- 机器学习(一) 从一个R语言案例学线性回归
- [转]关于int整形变量占有字节问题
- C#部分---利用arraylist集合做滚动抽奖;
- http://jingyan.baidu.com/article/08b6a591f0fafc14a9092275.html
- Android异常:异步任务导致的窗口句柄泄漏问题
- Oracle 专用模式(DEDICATED) 和 共享模式(SHARE) (转)
- Facial Landmark Detection
- agnentX学习存在疑问?
- 记录项目版本升级angular4 ~ angular5
- SSM-SpringMVC-03:SpringMVC执行流程一张有意思的图
- 自定义switchButton
- python爬虫,使用urllib2库报错
- idea设置代码块
- Nodejs----单点登录