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 ]