怎样合并数组对象中id相同的数据

发布于 2022-09-12 22:14:24 字数 439 浏览 9 评论 0

原数组: [{id: "1000001", value:[1.1, "1.1"]},
{id: "1000002", value:[2.1, "2.1"]},
{id: "1000001", value: [1.2, "1.2"]},
{id: "1000002", value:[2.2, "2.2"]},
{id: "1000001", value: [1.3, "1.3"]},
{id: "1000002", value:[2.3, "2.3"]},
]
期待的数组:
[
{id: "1000001", value:[[1.1, "1.1"],[1.2, "1.2"],[1.3, "1.3"]]},
{id: "1000002", value:[[2.1, "2.1"],[2.2, "2.2"],[2.3, "2.3"]]},
]
请各位路过的大佬帮忙,谢谢了!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光磨忆 2022-09-19 22:14:24
a.reduce((val, next) => {
    val[next.id] = val[next.id] ? val[next.id].concat(next.value) :  next.value
    return val
}, {})
幸福%小乖 2022-09-19 22:14:24
function dedup (arr = []) {
  const mp = {}
  for (let obj of arr) {
    const { id , value} = obj
    if (mp[id]) {
      mp[id].value.push(value)
    } else {
      mp[id] = {id, value: [value]}
    }
  }
  return Object.values(mp)
}
const data = [{id: "1000001", value:[1.1, "1.1"]},
{id: "1000002", value:[2.1, "2.1"]},
{id: "1000001", value: [1.2, "1.2"]},
{id: "1000002", value:[2.2, "2.2"]},
{id: "1000001", value: [1.3, "1.3"]},
{id: "1000002", value:[2.3, "2.3"]},
]
console.log(dedup(data))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文