最初,我有一个对象:
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"
}
};
我想要做的是,让它进入状态:
"name1": [
{
age: "17",
surname: "surname1"
},
{
age: "25",
surname: "surname3"
}
],
"name2": [
age: "11",
surname: "surname2"
]
对我来说,重要的是拥有所有对象的列表/数组,其中包含相同的属性,并按该属性的值进行分组。
我尝试的(使用lodash)是:
let test = _.mapKeys(root["myRootNode"], function(value, key) {
return value["name"];
});
但这给了我一个结果:
"name1": {
age: "25"
name: "name1"
surname: "surname3"
},
"name2": {
age: "11"
name: "name2"
surname: "surname2"
}
所以它们没有被分组,只有最后一个值被映射到正在重复的键下。另外,在我得到的结果中,它们没有被放在一个数组下。
https://stackoverflow.com/questions/51777043
复制相似问题