【发布时间】:2020-06-26 15:56:23
【问题描述】:
This is my function where i am merging the data:
getStaffCount(data) {
if (data == null || data.results === null )
return [];
else
return data.results.StaffCount.map(m => ({ Name: m.Name, Accounts: m.Accounts })).
concat(data.results.RepProviderAccount.map(m => ({ Name: m.Name, Accnt: m.Accnt }))).
concat( data.results.ProviderAccount.map(m => ({ Name: m.Name, Account: m.Account })));
}
这是我的桌子
<PowerTable Data={{ rows: this.getStaffCount(this.props.GridData) }} rowsPerPage={5} orderBy="Name" order="asc" >
<PowerColumn id='Name' columnName='Name' numeric={false} disablePadding={false} label='Profile Name' width={100}>
</PowerColumn>
<PowerColumn id='Accounts' columnName='Accounts' numeric={false} disablePadding={false} label='Staff Accounts' width={100}>
</PowerColumn>
<PowerColumn id='Account' columnName='Account' numeric={false} disablePadding={false} label='Provider Account' width={100} >
</PowerColumn>
<PowerColumn id='Accnt' columnName='Accnt' numeric={false} disablePadding={false} label='Rep Provider Account' width={100} >
</PowerColumn>
</PowerTable>
如果它们具有相同的配置文件名称,我想添加列值。(我通过 Api 从 SoQL 查询中获取数据) 这是我的数据:
这是我对它们进行分组和唯一化的功能,但这似乎不起作用:
groupBy(column, data) {
var groups = {};
data.forEach(function (itm) {
groups[itm[column]] = groups[itm[column]] || [];
groups[itm[column]].push(itm);
});
return groups;
}
uniquify(groups) {
var unique = [];
for (var key in groups) {
if (groups.hasOwnProperty(key)) {
unique.push(groups[key][0]);
}
}
return unique;
}
arrUnique(arr) {
var groupsByName = this.groupBy("Name", arr);
var uniqueNames = this.uniquify(groupsByName);
return uniqueNames;
}
【问题讨论】:
标签: javascript node.js reactjs merge soql