首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法可以创建以公共值作为键的对象,并将公共对象赋值为数组值?

是否有一种方法可以创建以公共值作为键的对象,并将公共对象赋值为数组值?
EN

Stack Overflow用户
提问于 2022-07-29 17:31:33
回答 1查看 48关注 0票数 -3

假设我有一个由四个对象组成的数组

代码语言:javascript
复制
var data = [
   {a: 1, b: 2}, 
   {a: 2, b: 4}, 
   {a: 1, b: 6}, 
   {a: 2, b: 9}
];

我想要创建一个对象,比如接受公共值并将其作为键传递,并将值ob公共对象分配给如下所示的数组

代码语言:javascript
复制
Const treat = {

    1:[{a:1,b:2} {a:1,b:6}],
    2:[{a:2,b:4} {a:2,b:9}]

}
EN

回答 1

Stack Overflow用户

发布于 2022-07-29 17:42:34

这是你想要的一个版本。您可以研究不同的数组方法,如reduce,以查看获得类似结果的其他方法。

代码语言:javascript
复制
var data = [{
    a: 1,
    b: 2
  },
  {
    a: 2,
    b: 4
  },
  {
    a: 1,
    b: 6
  },
  {
    a: 2,
    b: 9
  }
];

function sortData() {
  var sortedData = {};
  data.forEach(sample => {
  // Need to check if the array for the sample has been created since we cannot "push" to "undefined".
    if (sortedData[sample.a]) {
      sortedData[sample.a].push(sample);
    } else {
      sortedData[sample.a] = [sample];
    }
  });
  return sortedData;
}

console.log(sortData());

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73169077

复制
相关文章

相似问题

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