js处理数组对象重组成需要的格式

原本的数据格式:其中sexType对应的label为“0男1女2其他”

let origin = [
      {
        "count": "23333",
        "sexType": 0,
      },
      {
        "count": "45555",
        "sexType": 1,
      },
      {
        "count": "566666",
        "sexType": 2,
      },
      {
        "count": "23333",
        "sexType": 0,
      },
      {
        "count": "45555",
        "sexType": 1,
      },
      {
        "count": "566666",
        "sexType": 2,
      },
    ]

目标格式:将sexType对应的count重组为新的数组

let goat = [
    {
        name: "男", 
        data: [23333, 23333],
    },
    {
        name: "女",
        data: [45555, 45555],
    },
    {
        name: "其他",
        data: [566666, 566666],
    },
],
阅读 1.4k
1 个回答
[
  {
    "count": "23333",
    "sexType": 0,
  },
  {
    "count": "45555",
    "sexType": 1,
  },
  {
    "count": "566666",
    "sexType": 2,
  },
  {
    "count": "23333",
    "sexType": 0,
  },
  {
    "count": "45555",
    "sexType": 1,
  },
  {
    "count": "566666",
    "sexType": 2,
  },
].reduce((res,v) => {
    (res[v.sexType] ||= {name: ['男','女','其他'][v.sexType], data: []}).data.push(v.count)
    return res
},[])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题