按对象键分组的数组对象
Objects of array Group by object key
我已经进行了多次迭代,但没有达到预期效果。
我有像下面一对这样的对象数组
const data = [
{
"credit_account_id": "244",
"debit_account_id": null,
"sum": "30.00",
"name": "Bank"
},
{
"credit_account_id": null,
"debit_account_id": "244",
"sum": "110.00",
"name": "Bank"
},
....
]
我想达到
[
{ name: "Bank",
account : "244",
debit_account : "30",
credit_account: 110
}
]
const data = [
{
"credit_account_id": "244",
"debit_account_id": null,
"sum": "30.00",
"name": "Bank"
},
{
"credit_account_id": null,
"debit_account_id": "244",
"sum": "110.00",
"name": "Bank"
}
]
const dd = [];
data.map((d) => {
const item = dd.find((x) => x.name === d.name);
if (item) {
if (d.debit_account_id) {
item.debit_account = d.sum;
}
return (item.credit_account = d.sum);
}
const obj = { name: d.name };
if (d.debit_account_id) {
obj.debit_account = d.sum;
obj.ledger_account = d.debit_account_id;
} else {
obj.credit_account = d.sum;
obj.ledger_account = d.credit_account_id;
}
return dd.push(obj);
});
console.log(dd)
[
{ name: "Bank",
account : "244",
debit_account : "30",
credit_account: 110
}
]
我已经进行了多次迭代,但没有达到预期效果。 我有像下面一对这样的对象数组
const data = [
{
"credit_account_id": "244",
"debit_account_id": null,
"sum": "30.00",
"name": "Bank"
},
{
"credit_account_id": null,
"debit_account_id": "244",
"sum": "110.00",
"name": "Bank"
},
....
]
我想达到
[
{ name: "Bank",
account : "244",
debit_account : "30",
credit_account: 110
}
]
const data = [
{
"credit_account_id": "244",
"debit_account_id": null,
"sum": "30.00",
"name": "Bank"
},
{
"credit_account_id": null,
"debit_account_id": "244",
"sum": "110.00",
"name": "Bank"
}
]
const dd = [];
data.map((d) => {
const item = dd.find((x) => x.name === d.name);
if (item) {
if (d.debit_account_id) {
item.debit_account = d.sum;
}
return (item.credit_account = d.sum);
}
const obj = { name: d.name };
if (d.debit_account_id) {
obj.debit_account = d.sum;
obj.ledger_account = d.debit_account_id;
} else {
obj.credit_account = d.sum;
obj.ledger_account = d.credit_account_id;
}
return dd.push(obj);
});
console.log(dd)
[
{ name: "Bank",
account : "244",
debit_account : "30",
credit_account: 110
}
]