從資料庫結果。我得到了類似的回應
[
{
id: 11544,
emp_code: "DF",
date_received: "2000-10-18",
closed_ind: "C",
declined: null,
create_date: "2000-10-18",
billing_rate: null,
emp1sk: 10151,
emp2sk: 10151,
emp3sk: 10052,
emp1name: 'efraim',
emp2name: 'andrea',
emp3name: 'monique',
},
{
....},
...........
]
有了這個記錄,我如何制作一個物件陣列
[
{
id: 11544,
emp_code: "DF",
date_received: "2000-10-18",
closed_ind: "C",
declined: null,
create_date: "2000-10-18",
billing_rate: null,
emp: [{
id: 10151,
name: 'efraim'
}, {
id: 10151,
name: 'andrea'
}, {
id: 10052,
name: 'monique'
}]
},
, {
....},
...........
]
我無法更改資料庫也無法獲得回應。我怎么能做到,而且員工也不限于它可以是任何東西。我該怎么做
uj5u.com熱心網友回復:
您可以先獲取 emp_sk 值的計數,然后使用 for 回圈將 sk 和 name 插入 emp 陣列,然后按原樣插入鍵值對的其余部分
const q = [
{
id: 11544,
emp_code: "DF",
date_received: "2000-10-18",
closed_ind: "C",
declined: null,
create_date: "2000-10-18",
billing_rate: null,
emp1sk: 10151,
emp2sk: 10151,
emp3sk: 10052,
emp1name: 'efraim',
emp2name: 'andrea',
emp3name: 'monique'
},
{
id: 11545,
emp_code: "DS",
date_received: "2000-10-18",
closed_ind: "C",
declined: null,
create_date: "2000-10-18",
billing_rate: null,
emp1sk: 10151,
emp2sk: 10151,
emp1name: 'efraim',
emp2name: 'andrea'
}
]
console.log(
q.map((e) => {
const length = Object.keys(e).filter((key) => key.match('emp[0-9] sk')).length;
let emp = [];
for(let i=1; i<=length; i ) {
emp.push({id: e[`emp${i}sk`], name: e[`emp${i}name`]})
}
let ans = {
id: e['id'],
emp_code: e['emp_code'],
date_received: e['date_received'],
closed_ind: e['closed_ind'],
declined: e['declined'],
create_date: e['create_date'],
billing_rate: e['billing_rate']
}
return {...ans, emp};
})
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/405962.html
標籤:
上一篇:如何更改箱號的順序?
