Javascript 如何在angular中使用对象关键点上的groupBy
如何在Javascript 如何在angular中使用对象关键点上的groupBy,javascript,angular,Javascript,Angular,如何在array``、assets``上使用groupBy,该groupBy基于对象键的角度,即PRN、PRN1、PRN2 这是我的list.component.ts的代码 首先,我在当前日期处过滤它 列表.组件.ts 我想要的是基于对象键的groupit,比如PRN/PRN1/PRN2 应该是这样的(示例) 控制台 提前感谢。将结果转换为对象而不是数组,我在下面的代码中排除了一些逻辑,您可以将其包括在内 const merge = (array: any) => array.reduc
array``、
assets``上使用groupBy,该groupBy基于对象键
的角度,即PRN、PRN1、PRN2
这是我的list.component.ts的代码
首先,我在当前日期处过滤它
列表.组件.ts
我想要的是基于对象键的group
it,比如PRN/PRN1/PRN2
应该是这样的(示例)
控制台
提前感谢。将结果转换为对象而不是数组,我在下面的代码中排除了一些逻辑,您可以将其包括在内
const merge = (array: any) => array.reduce((results: any, item: any) => {
results[item.assetCode] = [{
code: item.code,
date: item.date,
assetCount: item.assetCount
}]
return results;
}, {});
this.rowData = merge(this.rowData);
console.log(this.rowData);
您可以维护一个对象,并通过将assetcode设置为键,开始将值放入该对象
const obj = {};
for (const [index, data] of rowData.entries()) {
// console.log(data);
if (obj.hasOwnProperty(data.assetCode)) {
obj[data.assetCode].push(data);
} else {
obj[data.assetCode] = [];
obj[data.assetCode].push(data);
}
}
你将如何推进它?它不是数组,一个向对象添加键(PNR)的对象{PRN:[{'code':'Machine 1','assetCount':2',date':'2019-01-19'}],PRN 1:[{'code':'Machine 2','assetCount':3',date':'2019-01-19'}]我试着达到上面的效果,它奏效了,你可以附加任何你需要的数据
const merge = (array: any) => array.reduce((results: any, item: any) => {
results[item.assetCode] = [{
code: item.code,
date: item.date,
assetCount: item.assetCount
}]
return results;
}, {});
this.rowData = merge(this.rowData);
console.log(this.rowData);
const obj = {};
for (const [index, data] of rowData.entries()) {
// console.log(data);
if (obj.hasOwnProperty(data.assetCode)) {
obj[data.assetCode].push(data);
} else {
obj[data.assetCode] = [];
obj[data.assetCode].push(data);
}
}