const list = [
{
creator_id: '156',
operation_group: '经营一组',
work_logs: [
{
time: '2021-07-01',
num: 1,
color: 'blue',
},
{
time: '2021-04',
num: 0,
color: 'red',
},
],
},
{
creator_id: '40',
operation_group: '经营一组',
work_logs: [
{
time: '2021-07-01',
num: 1,
color: 'red',
},
{
time: '2021-04',
num: 0,
color: 'red',
},
],
},
{
creator_id: '16',
operation_group: '经营二组',
work_logs: [
{
time: '2021-03',
num: 1,
color: 'blue',
},
{
time: '2021-04',
num: 0,
color: 'red',
},
],
},
{
creator_id: '25',
operation_group: '经营二组',
work_logs: [
{
time: null,
num: 0,
color: 'red',
},
{
time: '2021-03',
num: 0,
color: 'red',
},
{
time: '2021-04',
num: 0,
color: 'red',
},
],
},
{
creator_id: '177',
operation_group: '经营二组',
work_logs: [
{
time: null,
num: 0,
color: 'red',
},
{
time: '2021-03',
num: 0,
color: 'red',
},
{
time: '2021-04',
num: 0,
color: 'red',
},
],
},
];
console.log('listTotal', listTotal);
const titleList = listTotal.map(item => {
return item.time;
});
console.log('titleList-----', titleList);
// 不用reduce时:
function getRepeatNum(arr) {
const obj = {};
for (let i = 0, l = arr.length; i < l; i++) {
const item = arr[i];
obj[item] = obj[item] + 1 || 1;
}
return obj;
} // 用reduce时: //reduce:计算数组元素相加后的总和
// reduce方法接受两个参数,第一个是函数,第二个是初始值
function getRepeatNum2(arr) {
return arr.reduce((prev, next) => {
prev[next] = prev[next] + 1 || 1;
return prev;
}, {});
}
console.log('getRepeatNum-----', getRepeatNum2(titleList));