Javascript 为什么要使用ux?它只返回原始列表

Javascript 为什么要使用ux?它只返回原始列表,javascript,functional-programming,underscore.js,lodash,Javascript,Functional Programming,Underscore.js,Lodash,很明显,我做错了什么,但我似乎无法用每种方法得到我想要的值 我有许多键值对,其中每个值都是一个对象数组。我想从数组中的每个对象中获取一个值,然后对这些值求和。守则: var step = {key: array[1], key1: array[3]} array = [object, object . . .] object = {objKey: value, objKey1: value} 我想得到: var step1 = {key: value, key: value}//where

很明显,我做错了什么,但我似乎无法用每种方法得到我想要的值

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

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()返回原始列表,但这并不适用于。each()为列表中的每个项目执行一个函数。例如,您可以为每个项目在屏幕上打印一些内容,但您不希望对每个项目进行转换,因为它不会给出每个函数执行的结果


相反,您可以使用map()。map()返回为列表中的每个项调用函数的结果,这样您可以得到结果列表,然后可以避免返回原始列表。

使用而不是确定,我可以这样做,如果我这样做,那么我只得到数组,而不是var step1中的键值对。另外,有什么意义?each then?@rashadb:
each
仅适用于执行副作用,而不考虑返回值。请使用一些可执行(例如JSON)输入和预期输出表示(如果事件很长),好吗?我不知道你的数据是什么样子的。对不起,Bergi,我以前从来没有这样做过,我不知道如何在这样的情况下做到这一点。我从哪里开始?