我正在将一个_.chain组函数转换为使用_fp.flow,但我在处理流程处理复杂对象方面遇到了一些困难。我试图javascript:使用lodash/fp流来返回对象
- 减少对象的数组与一些分组的功能(例如
countBy
/sumBy
)到对象/字典(例如{ group1:10, group2:15... }
) - 地图成键/值对的阵列(例如
[{column: 'group1', value: '10'}, ...]
) - 排序一些可变进
asc/desc
顺序
但现在生成的对象最终被展平为长阵列。代码示例如下。在下面的代码的reducer
功能工作正常,当我意欲分组的值,但然后我认为each
步骤和orderBy
之间的钻营被平坦化该对象以某种方式(在console.log
_.each
后正确地形成所需的对象。
我已经把所附的jsfiddle代码样本
const inData = [{
target: 123,
groupby: 'a'
},...
}];
const colData = _.flow(
_.reduce(reducer, {}),
_.toPairs,
_.each(([value, column]) => {
console.log(value);
console.log(column);
const outObj = {
value: value,
column: column
}
console.log(outObj)
return (outObj);
}),
_.orderBy(['value'], [sortDir]),
// Have tried result with or without fromPairs
_.fromPairs
)(inData);
PS:我使用ES6语法和我的主要项目反应过来,如果有差别
https://jsfiddle.net/moc0L5ac/
你说什么应包括样本数据和预期产出 – naomik