📜  Lodash _.reduce() 方法

📅  最后修改于: 2022-05-13 01:56:50.893000             🧑  作者: Mango

Lodash _.reduce() 方法

Lodash 是一个基于 underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、集合、字符串、对象、数字等。
_.reduce() 方法将集合减少为值,该值是通过 iteratee 运行集合中每个元素的累积结果,其中每个连续调用都提供前一个的返回值。如果未给出累加器,则将集合的第一个元素用作初始值。有许多 lodash 方法被保护为像 _.reduce、_.reduceRight 和 _.transform 这样的方法的迭代器。

句法:

_.reduce(collection, iteratee, accumulator)

参数:此方法接受三个参数,如上所述,如下所述:

  • 集合:此参数保存要迭代的集合。
  • iteratee:此参数保存每次迭代调用的函数。
  • 累加器:此参数保存初始值。

返回值:该方法返回累计值。

示例一:这里使用 const _ = require('lodash') 来导入文件中的 lodash 库。

// Requiring the lodash library 
const _ = require("lodash"); 
       
// Original array 
var users = [ 1, 2, 3, 4 ];
   
// Use of _.reduce() method
   
let gfg = _.reduce(users, function(sum, n) {
  return sum + n;
}, 0);
  
// Printing the output 
console.log(gfg);

输出:

10

示例 2:

// Requiring the lodash library 
const _ = require("lodash"); 
       
// Original array 
var users = { 'p': 2, 'q': 3, 'r':2, 's': 2  }
   
// Use of _.reduce() method
   
let gfg = _.reduce(users, function(result, value, key) {
  (result[value] || (result[value] = [])).push(key);
  return result;
}, {});
  
// Printing the output 
console.log(gfg);

输出:

{ '2': ['p', 'r', 's'], '3': ['q'] }

注意:此代码在普通 JavaScript 中不起作用,因为它需要安装库 lodash。