我有一个对象数组,每个对象都有一个功能属性,有4种不同的类型,我想根据它们的功能值将其分成4个不同的数组。
试图进行映射,但无法根据其值之一确定如何进行映射。
ngOnInit(){
this.questionsService.getQuestions().subscribe(
data => {
this.questions = [];
Object.keys(data).map((key)=>{ this.questions.push(data[key])});
console.log(this.questions);
}
);
}
对象示例:
{
"Capability": "Associate",
"SubCategory": "Core Skills",
"Skill": "Communication",
"SkillID": 1
},
{
"Capability": "CCM",
"SubCategory": "Other Skills",
"Skill": "Data Protection/ GDPR",
"SkillID": 34
}
我希望将问题数组分为四个不同的数组,每个数组用于不同的能力值。
答案 0 :(得分:0)
我认为您的问题与此处How to group an array of objects by key
相同var myArray = [
{ capability: 1, id: 1},
{ capability: 1, id: 2},
{ capability: 2, id: 3},
{ capability: 3, id: 4},
{ capability: 4, id: 5}
]
var result = myArray.reduce(function (r, a) {
r[a.capability] = r[a.capability] || [];
r[a.capability].push(a);
return r;
}, Object.create(null));
console.log(result);