【发布时间】:2022-11-25 22:16:46
【问题描述】:
要求是我必须按键“taxGrp”进行分组。 “taxtGrp”应包含“姓名”和“收入”。 “收入”只不过是该组的总收入 如果 taxGrp 是 NON_TAX' 那么 name = 'members' 和 income = 1000(根据下面的示例数据) 如果 taxGrp 不是“NON_TAX”,则 name = 该组中“关系”为“CHILD”的人的姓名,收入值是该组的合并收入。 我做不到。获得所需的输出。
var grp = [
{
taxGrp: 'NON_TAX',
name: 'Mary Zelle',
relation: 'APPLICANT',
income: '500'
},
{
taxGrp: 'NON_TAX',
name: 'Jack Zelle',
relation: 'SPOUSE',
income: '500'
},
{
taxGrp: 'TAX_GRP_1',
name: 'Victor Zele',
relation: 'CHILD',
income: 200
},
{
taxGrp: 'TAX_GRP_1',
name: 'Rosey Zele',
relation: 'DEPENDANT',
income: 100
},
{
taxGrp: 'TAX_GRP_2',
name: 'Derk Zele',
relation: 'CHILD',
income: 300
},
{
taxGrp: 'TAX_GRP_2',
name: 'Marc Zele',
relation: 'DEPENDANT',
income: null
}
];
预期输出:
[
'NON_TAX': {
name: 'members'
income: 1000
},
'TAX_GRP_1': {
name: 'Victor Zele',
income: 400
},
'TAX_GRP_2': {
name: 'Derk Zele',
income: 300
}
]
var grp = [
{
taxGrp: 'NON_TAX',
name: 'Mary Beth',
relation: 'PARENT'
},
{
taxGrp: 'TAX_GRP_1',
name: 'Victor Zele',
relation: 'CHILD'
},
{
taxGrp: 'TAX_GRP_1',
name: 'Rosey Zele',
relation: 'DEPENDANT'
},
{
taxGrp: 'TAX_GRP_2',
name: 'Derk Zele',
relation: 'CHILD'
},
{
taxGrp: 'TAX_GRP_2',
name: 'Marc Zele',
relation: 'DEPENDANT'
}
];
var memberObj = grp.reduce((acc, val) => {
acc[val.taxGrp] = {
name: val.name
};
return acc
}, {});
console.log('memberObj >>', memberObj);
【问题讨论】:
-
为什么是这个问题。给予-ve投票?
-
预期输出不是有效的 JS。
-
如果您希望输出包含
income: ...,为什么不将输入包含在您在 reducer 函数中分配的值中? -
@Quentin——无法增加收入。
-
什么事拦住你了?它只是
val的属性,就像name一样。