为什么使用 _.each 它只 returns 原始列表

Why use _.each it only returns the original list

我显然做错了什么,但我似乎无法使用 _.each

获得我正在寻找的值

我有许多键值对,其中每个值都是一个对象数组。我想从数组中的每个对象中获取一个值,然后对这些值求和。代码:

var step = {key: array[1], key1: array[3]}

array = [object, object . . .]
object = {objKey: value, objKey1: value}

我想得到:

var step1 = {key: value, key: value}//where value is the sum of objKey
 in each object in the array for each key in step.

我正在使用以下内容来尝试获取:

_.each(step, function(n){return _.compact(_.pluck(n,
 "amount")).reduce(function (a, b) {return a + b;}, 0);})

是的,each() returns 原始列表,但这不是真正的。 each() 为列表中的每个项目执行一个函数。例如,您可以为每个项目在屏幕上打印一些内容,但您不想对每个项目进行一些转换,因为它不会为您提供每个函数执行的结果。

相反,您可以使用 map()。 map() returns 为列表中的每个项目调用函数的结果,因此您可以获得结果列表,然后可以避免取回原始列表。