javascript - json如何将行转换为列

标签 javascript arrays json

我有一个数组 json 对象,想要将行转换为列,并将旁边的列作为列的值。就像postgresql的函数crosstab

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,但没有找到任何内容

最佳答案

希望这是您正在寻找的:

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()];
};

fiddle :https://jsfiddle.net/cccheng118/pyh2L85k/6/

关于javascript - json如何将行转换为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57114000/

相关文章:

javascript - Maps API v3 : map. setCenter 无法正常工作

Javascript:替换字符串函数在 IE7-8 中不起作用

JavaScript - 循环 JSON 数组并匹配子数组中的字符串

json - 从 ADF 中的 API 提取数据

javascript - 是否可以在用户离开时删除整个网页?

Javascript 替换在控制台中工作,而不是在代码中工作

javascript - 在 javascript 中,如何删除之前单击的同级 div,以便一次只显示一个答案?

C 语言 - strcmp 始终返回 0 而 strcpy 不会将字符串复制到另一个数组中

javascript - 将包含变量名称的类似数组的字符串解析为数组

python - 使用 Django 的 render() 渲染 JSON 响应