簡體   English   中英

將不同數組中的值推送到不同的鍵

[英]Push Values from different array to Different Keys

我有2個這樣的數組:

let payrollname = [{"code": "a1", "name": "Loan A"}, {"code": "a2", "name": "Loan B"}, {"code": "a3", "name": "Loan C"}, {"code": "a4", "name": "Loan D"}, {"code": "a5", "name": "Loan E"}]

let payrollbalance = [{"a1": 0, "a2": 100000, "a3": 500000, "a4": 300000, "a5": 45900}]

我如何將值從payrollbalance推送到payrollname

我的意思是像這樣推送,來自payrollbalance.a4的值,這意味着300000推送到payrollname.code == a4

我希望最終結果可以類似:

let result = `[{"code": "a1", "name": "Loan A", "values": 0}, {"code": "a2", "name": "Loan B", , "values": 100000}, {"code": "a3", "name": "Loan C", "values": 500000}, {"code": "a4", "name": "Loan D", "values": 300000}, {"code": "a5", "name": "Loan E",  "values": 45900}]`

任何幫助都會得到幫助,我已經搞砸了一整天。

提前致謝

使用Array.map()並添加帶有 payrollbalance[0] 值的values鍵,並通過[]指示 json 鍵用於動態。

 let payrollname = [{"code": "a1", "name": "Loan A"}, {"code": "a2", "name": "Loan B"}, {"code": "a3", "name": "Loan C"}, {"code": "a4", "name": "Loan D"}, {"code": "a5", "name": "Loan E"}] let payrollbalance = [{"a1": 0, "a2": 100000, "a3": 500000, "a4": 300000, "a5": 45900}] let result = payrollname.map(item => ({...item, values: payrollbalance[0][item.code] })); console.log(result);

做一個數組搜索,找到索引並在之后更改它

 let payrollname = [{"code": "a1", "name": "Loan A"}, {"code": "a2", "name": "Loan B"}, {"code": "a3", "name": "Loan C"}, {"code": "a4", "name": "Loan D"}, {"code": "a5", "name": "Loan E"}] let payrollbalance = [{"a1": 0, "a2": 100000, "a3": 500000, "a4": 300000, "a5": 45900}] var result = []; let pblance = payrollbalance[0] for(let p in pblance) { let index = payrollname.findIndex(el => el.code==p) let pname = payrollname[index] pname.values = pblance[p]; result.push(pname) } console.log(result);

此代碼將起作用!

 let payrollname = [{"code": "a1", "name": "Loan A"}, {"code": "a2", "name": "Loan B"}, {"code": "a3", "name": "Loan C"}, {"code": "a4", "name": "Loan D"}, {"code": "a5", "name": "Loan E"}] let payrollbalance = [{"a1": 0, "a2": 100000, "a3": 500000, "a4": 300000, "a5": 45900}] let result = [] let i = 0 payrollname.forEach(element => { let value = payrollbalance[0][element.code] element.values = value; result[i] = element i=i+1 }); console.log(result)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM