首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象在JavaScript中的重复

对象在JavaScript中的重复
EN

Stack Overflow用户
提问于 2021-07-13 21:47:07
回答 2查看 44关注 0票数 0

我的问题是,我如何通过这一点:

代码语言:javascript
复制
const array = [
    {name: "Bline", score: 95},
    {name: "Flynn", score: 75},
    {name: "Carl", score: 80},
    {name: "Bline", score: 77},
    {name: "Flynn", score: 88},
    {name: "Carl", score: 80}
]

使用javascript到此对象数组:

代码语言:javascript
复制
[
    {
      name: 'Bline',
      data: [95, 77]
    }
    {
      name: 'Flynn',
      data: [75, 88]
    }
    {
      name: 'Carl',
      data: [80, 80]
    }
    ]

我试过复制,但到目前为止还没有。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-13 21:50:39

您应该对数组进行迭代,并在name对象中以数组方式将score设置为key,将score设置为value

代码语言:javascript
复制
let result = {}
for (let item of array) {
  if (!result[item.name]) result[item.name] = [item.score]
  else result[item.name].push(item.score)
}
票数 2
EN

Stack Overflow用户

发布于 2021-07-14 00:02:42

您可以通过第一次将数据分组并使用减值函数来获得预期的结果。

代码语言:javascript
复制
let grouped = array.reduce(function (r, a) {
    r[a.name] = r[a.name] || [];
    r[a.name].push(a.score);
    return r;
}, {});

然后把它格式化成你想要的

代码语言:javascript
复制
let formated = Object.entries(grouped).map(([key, value]) => {
    return {
        name : key,
        data: value
    }    
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68369656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档