📜  Underscore.js _.reductions() 方法

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

Underscore.js _.reductions() 方法

_.reductions ()方法用于将一个元素数组转换为一个数组,其中存储了折叠操作中的每个中间值。此方法与 _.reduce() 方法相同,只是它返回一个数组。

在该方法中传递一个数组、一个函数和一个起始值,以生成一个新数组以对数组执行操作。

句法:

_.reductions(array, function, start_val)

参数:

  • 数组:要处理的数组。
  • 函数:包含迭代条件的函数。
  • start_val:在开始时传递的值,进一步更新进一步的操作。

返回值:此方法返回一个新数组。

注意:这在普通 JavaScript 中不起作用,因为它需要安装 underscore.js contrib 库。 Underscore.js contrib 库可以使用npm install underscore-contrib --save.

示例 1:在此示例中,我们将使用此方法生成一个数组。在这里,总和数组的生成起始值为 0,该值在加法运算时更新。

Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib'); 
  
// Defining Array
var array = [10, 12, 23, 34, 45];
  
var arr =_.reductions(array, function(st, n) {
  return st + n;
}, 0);
console.log("Generated Array : ");
console.log(arr);


Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib'); 
  
// Defining Array
var array = [10, 12, 23, 34, 45];
  
var arr =_.reductions(array, function(st, n) {
  return st * n;
}, 1);
console.log("Generated Array : ");
console.log(arr);


输出:

Generated Array :
[ 10, 22, 45, 79, 124 ]

示例 2:在此示例中,我们将通过将起始值设为 1 来生成一个乘法数组,该值会在进一步乘法时更新。

Javascript

// Defining underscore contrib variable
var _ = require('underscore-contrib'); 
  
// Defining Array
var array = [10, 12, 23, 34, 45];
  
var arr =_.reductions(array, function(st, n) {
  return st * n;
}, 1);
console.log("Generated Array : ");
console.log(arr);

输出:

Generated Array :
[ 10, 120, 2760, 93840, 4222800 ]