reduce使用技巧

Posted pjl43

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reduce使用技巧相关的知识,希望对你有一定的参考价值。

一、使用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}

 

以上是关于reduce使用技巧的主要内容,如果未能解决你的问题,请参考以下文章

Amazon Elastic Map Reduce:输入片段大小是不是重要

JavaScript 代码片段

js数组高阶方法reduce经典用法代码分享

js数组高阶方法reduce经典用法代码分享

48个值得掌握的JavaScript代码片段(上)

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)