将值从不同的数组推送到不同的键
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);
做一个array seach,找到索引后改
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)
我有 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);
做一个array seach,找到索引后改
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)