如何用nodejs转换和映射多个json对象?
How to transform and map multiple json objects with nodejs?
我正在尝试用nodejs改造map/merge两个端点,我只知道数据库现在学习nodejs。我需要有关以下使用 Nodejs 和 promises
的帮助
数据:
var a = [ { farmer_revenue_id: 63,
farmer_id: 518,
activity_id: 0,
revenue_type: 1,
value_date: '2018-07-01',
amount: '558.00',
remarks: '',
capture_date: '2018-07-17' }]
var b = [ { revenue_type_id: 1, name: 'Sale' }]
转换是按日期和金额完成的。我们还将收入类型替换为收入类型名称。最后我们省略了一些不需要的数据。
预期输出:
[ { farmer_revenue_id: 63,
farmer_id: 518,
activity_id: 0,
revenue_type_name: sale,
value_date: '2018/07/01',
amount: $ 558.00,
capture_date: '2018/07/17' }]
快速解决方法:
let a = [{
farmer_revenue_id: 63,
farmer_id: 518,
activity_id: 0,
revenue_type: 1,
value_date: '2018-07-01',
amount: '558.00',
remarks: '',
capture_date: '2018-07-17'
}];
let b = [{
revenue_type_id: 1,
name: 'Sale'
}];
a = a.reduce((reduced, aItem) => {
const aItemClone = {...aItem};
const foundB = b.find((bItem) =>
bItem.revenue_type_id === aItemClone.revenue_type
) || null;
if (foundB !== null)
aItemClone.revenue_type_name = foundB.name;
delete aItemClone.revenue_type;
reduced.push(aItemClone);
return reduced;
}, []);
console.log(a);
我正在尝试用nodejs改造map/merge两个端点,我只知道数据库现在学习nodejs。我需要有关以下使用 Nodejs 和 promises
的帮助数据:
var a = [ { farmer_revenue_id: 63,
farmer_id: 518,
activity_id: 0,
revenue_type: 1,
value_date: '2018-07-01',
amount: '558.00',
remarks: '',
capture_date: '2018-07-17' }]
var b = [ { revenue_type_id: 1, name: 'Sale' }]
转换是按日期和金额完成的。我们还将收入类型替换为收入类型名称。最后我们省略了一些不需要的数据。
预期输出:
[ { farmer_revenue_id: 63,
farmer_id: 518,
activity_id: 0,
revenue_type_name: sale,
value_date: '2018/07/01',
amount: $ 558.00,
capture_date: '2018/07/17' }]
快速解决方法:
let a = [{
farmer_revenue_id: 63,
farmer_id: 518,
activity_id: 0,
revenue_type: 1,
value_date: '2018-07-01',
amount: '558.00',
remarks: '',
capture_date: '2018-07-17'
}];
let b = [{
revenue_type_id: 1,
name: 'Sale'
}];
a = a.reduce((reduced, aItem) => {
const aItemClone = {...aItem};
const foundB = b.find((bItem) =>
bItem.revenue_type_id === aItemClone.revenue_type
) || null;
if (foundB !== null)
aItemClone.revenue_type_name = foundB.name;
delete aItemClone.revenue_type;
reduced.push(aItemClone);
return reduced;
}, []);
console.log(a);