【发布时间】:2019-06-18 12:18:37
【问题描述】:
我正在用 react js 编写一个方法,比如说我有一个如下所示的列表。
const itemList = [
{
"id": 3295042,
"tillPoint": "A",
"date": "23/01/2019",
"AnnaIncome": 100,
"PeterIncome": 50,
"KenIncome": 100,
"freeCash": 30
},
{
"id": 3295042,
"tillPoint": "B",
"date": "23/01/2019",
"AnnaIncome": 300,
"PeterIncome": 200,
"KenIncome": 100,
"freeCash": 50
},
{
"id": 3295042,
"tillPoint": "A",
"date": "22/01/2019",
"AnnaIncome": 120,
"PeterIncome": 120,
"KenIncome": 30,
"freeCash": 50
},
{
"id": 3295042,
"tillPoint": "B",
"date": "22/01/2019",
"AnnaIncome": 100,
"PeterIncome": 150,
"KenIncome": 50,
"freeCash": 60
},
]
我希望做一个.reduce 以使列表仅按日期属性包含更少的项目。
例如,在上面的列表中,实际上只有两个日期 22/01/2019 和 23/01/2019。
我希望按每个对象的日期减少列表的大小。所以每个人的收入都会以自己的名义加起来。
最终,列表将变成只有 2 个对象。并且在新列表中删除了一些属性
例如下面,'id' 和 'tillpoint' 被删除,其余属性加在一起:
let itemList = [
{
"date": "23/01/2019",
"AnnaIncome": 300,
"PeterIncome": 250,
"KenIncome": 200,
"freeCash": 80
},
{
"date": "22/01/2019",
"AnnaIncome": 220,
"PeterIncome": 280,
"KenIncome": 80,
"freeCash": 110
}
]
我在这里尝试过的内容如下所示,但它不起作用。
itemList.reduce((a, b) => ({ date: a.AnnaIncome + b.AnnaIncome, a.PeterIncome + b.PeterIncome, a.KenIncome + b.KenIncome, a.freeCash + b.freeCash }));
【问题讨论】:
标签: javascript arrays reactjs list reduce