我有一个数组json对象,并希望将行转换为列,而将列在侧面作为column的值。就像postgresql的功能交叉表
json是这样的:
{"marketcode":"01","size":"8,5","amount":1},
{"marketcode":"01","size":"9","amount":1},
{"marketcode":"01","size":"10","amount":0},
我想要这样:
{"marketcode": "01", "8,5": 1, "9": 1, "10": 0}
我搜索了lodash,但没有找到任何东西
答案 0 :(得分:1)
希望这就是您要寻找的东西:
const convert = toConvert => {
const map = toConvert.reduce((r, {marketcode, size, amount}) => {
if (r.has(marketcode))
r.set(marketcode, {...r.get(marketcode), [size]: amount});
else
r.set(marketcode, {marketcode, [size]: amount});
return r;
}, new Map());
return [...map.values()];
};
答案 1 :(得分:0)
非常感谢Bill,对不起白痴的问题,但是我认为这个问题有一个解决之道,我也用任何一种方式编写了一个解决方案,非常感谢,请遵循我的代码:
&