语法:

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);

大概这些,后期再加~~

最新文章

  1. rqnoj378 约会计划
  2. 设置css通用字体
  3. MYSQL加锁的测验
  4. ios 常用第三方库要加的framework,ARC的设置
  5. [JS] 面向对象的5种写法和拓展JS对象的写法
  6. (转)SQLLite数据操作
  7. nova分析(5)—— nova-conductor
  8. c语言 快排排序
  9. mysql 中的外键key值的详解
  10. linux 内核 编绎配制选项详解
  11. SSI指令使用详解(转)
  12. poj3237 Tree
  13. C++开源代码项目汇总
  14. 第一本的java 的小总结
  15. cocos web 多端口运行
  16. placeholder中文字添加换行方法
  17. [机器学习]回归--(Simple LR and Multiple LR)
  18. 界面控件DevExpress发布v18.2.5|附下载
  19. (18)What a planet needs to sustain life
  20. linux C++ 多线程使用pthread_cond 条件变量

热门文章

  1. .net core 读取配置文件的几种方式
  2. 安装CUDA
  3. 学习Java Day4
  4. SQL性能优化的47个小技巧,你了解多少?
  5. react 项目的性能优化
  6. 躬身入局,干货分享,2023年春招后端技术岗(Python)面试实战教程,Offer今始为君发
  7. ES6的Set详解
  8. PHP封装自定义函数function
  9. Blender插件:水滴生成器(Droplet Generator)
  10. sqlserver 行转列 列转行