为什么使用 _.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 为列表中的每个项目调用函数的结果,因此您可以获得结果列表,然后可以避免取回原始列表。
我显然做错了什么,但我似乎无法使用 _.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 为列表中的每个项目调用函数的结果,因此您可以获得结果列表,然后可以避免取回原始列表。