首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中使用mapKeys和按键分组?

如何在JavaScript中使用mapKeys和按键分组?
EN

Stack Overflow用户
提问于 2018-08-10 07:30:34
回答 2查看 387关注 0票数 0

最初,我有一个对象:

代码语言:javascript
复制
let root = {};
root["myRootNode"] = { 
   id1: {
     age: "17",
     name: "name1",
     surname: "surname1"                    
  },
   id2: {
     age: "11",
     name: "name2",
     surname: "surname2"                    
  },
   id3: {
     age: "25",
     name: "name1",
     surname: "surname3"                    
  }
};

我想要做的是,让它进入状态:

代码语言:javascript
复制
"name1": [
  {
     age: "17",
     surname: "surname1"         
  },
  {
     age: "25",
     surname: "surname3"         
  }
],
"name2": [
    age: "11",
    surname: "surname2"        
]

对我来说,重要的是拥有所有对象的列表/数组,其中包含相同的属性,并按该属性的值进行分组。

我尝试的(使用lodash)是:

代码语言:javascript
复制
let test = _.mapKeys(root["myRootNode"], function(value, key) {
  return value["name"];
});

但这给了我一个结果:

代码语言:javascript
复制
"name1": {
   age: "25"
   name: "name1"
   surname: "surname3"
},
"name2": {
   age: "11"
   name: "name2"
   surname: "surname2"
}

所以它们没有被分组,只有最后一个值被映射到正在重复的键下。另外,在我得到的结果中,它们没有被放在一个数组下。

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

https://stackoverflow.com/questions/51777043

复制
相关文章

相似问题

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