reduce对数组及数组对象的常见操作
2024-10-21 11:29:25
语法:
array.reduce(function(prev, currentValue, currentIndex, arr), initialValue)
prev: 初始值,或者是计算结束后的返回值
currentValue: 当前元素
currentIndex: 当前元素的索引
arr: 当前元素所属的数组对象
initialValue: 初始值
什么时候用它?
当多个数据最终变成一个数据的时候
有道面试题,给定一个数组,让我求它的平均数,我先用for循环利用每项累加,除以数组长度来计算的
面试官让我用其他方法解决,这时候就可以用reduce来解决
原数组 var arr = [1, 2, 3, 6, 8]
// 数组求和
var sum = arr.reduce((prev, currentVal) => {
return prev+ currentVal;
}, 0)
// 平均数
var average = arr.reduce((prev, currentVal) => {
return (prev + currentVal) / arr.length;
}, 0)
// 数组去重
var newArr = arr.reduce((prev, cur) => {
prev.indexOf(cur) === -1 && prev.push(cur);
return prev;
},[]);
// 对象数组求和
var result = [
{ name: 'lily', age: 18 },
{ name: 'lucy', age: 20 },
{ name: 'lulu', age: 35 }
];
var sumAge = result.reduce((accumulator, cur) => {
return accumulator + cur.age;
}, 0);
// 求数组最大值
var maxVal = arr.reduce((prev, cur) => {
return prev > cur ? prev : cur;
}, 0);
大概这些,后期再加~~
最新文章
- rqnoj378 约会计划
- 设置css通用字体
- MYSQL加锁的测验
- ios 常用第三方库要加的framework,ARC的设置
- [JS] 面向对象的5种写法和拓展JS对象的写法
- (转)SQLLite数据操作
- nova分析(5)—— nova-conductor
- c语言 快排排序
- mysql 中的外键key值的详解
- linux 内核 编绎配制选项详解
- SSI指令使用详解(转)
- poj3237 Tree
- C++开源代码项目汇总
- 第一本的java 的小总结
- cocos web 多端口运行
- placeholder中文字添加换行方法
- [机器学习]回归--(Simple LR and Multiple LR)
- 界面控件DevExpress发布v18.2.5|附下载
- (18)What a planet needs to sustain life
- linux C++ 多线程使用pthread_cond 条件变量