【发布时间】:2022-11-09 22:49:56
【问题描述】:
我正在开发的这个 Angular 应用程序正在以这种格式从 API 中获取数据:
[ {
"branchNumber" : "025",
"lineOfBusiness" : "DC-M",
"taskType" : "Advice",
"role" : "LU",
"priority" : "2"
}, {
"branchNumber" : "null",
"lineOfBusiness" : "DC-M",
"taskType" : "Advice",
"role" : "LU",
"priority" : "2"
}
etc... ]
我正在使用这个组件将 API 数据减少taskType。
export class BranchDetailsComponent implements OnInit {
public dataList = [];
public groupedData = [];
public errorMessage;
public branchNumber;
constructor(private _dataService: DataService, private _route: ActivatedRoute) {}
ngOnInit(): void {
let stringValue = this._route.snapshot.paramMap.get('stringValue');
this.branchNumber = stringValue;
this._dataService.getData(this.branchNumber).subscribe(
data => {
this.dataList = data;
this.groupedData = this.groupByTask(this.dataList);
},
error => this.errorMessage = error);
}
groupByTask(data) {
let grouped = [];
return grouped = data.reduce((groupedTasks, element) => {
const taskType = element.taskType;
if (groupedTasks[taskType] == null) {
groupedTasks[taskType] = [];
}
groupedTasks[taskType].push(element);
return groupedTasks;
}, []);
}
}
这可以正常工作并按预期注销,但现在我需要获取groupedData 数组并以某种方式将每个taskType 对象减少branchNumber,然后获取每个减少的taskType -> branchNumber 对象,然后减少lineOfBusiness。有人对如何实现这一目标有任何建议吗?到目前为止,我尝试过的每种方法都没有丝毫奏效,而且我的想法已经用完了,谢谢!
最终结果应该类似于
【问题讨论】:
标签: json angular object reduce