![](/img/trans.png)
[英]Javascript(NodeJs) - Conversion of Arrays and Objects to bulk insert in mysql(Sequelize)
[英]Conversion of Array objects in javascript (nodejs+ mysql + sequelize)
这是我的json对象:
{
excels:
[ { field1: '123456789',
field2: 'Mohamed',
field3: 'Sameer'},
{ field1: '111111111',
field2: 'Hameed',
field3: 'Basha'},
{ field1: '222222222',
field2: 'Mohamed',
field3: 'Basha'} ],
header:
{ '0': 'gsm',
'1': 'firstName',
'2': 'lastName'
}
}
如何将其转换为:
[{gsm:123456789;firstName:'Mohamed';lastName:'Sameer'},{gsm:111111111;firstName:'Hameed';lastName:'Basha'},{gsm:222222222;firstName:'Mohamed';lastName:'Basha'}]
是否有可能获得这种类型的转化?
帮帮我,我是新手!
我认为使用lodash.mapKeys
将更加清晰:
const mapKeys = require('lodash.mapkeys');
const arr = obj.excels.map(
(excel) => {
const keys = Object.values(obj.header)
return mapKeys(excel, (value, key) => keys.shift())
}
);
console.log(arr);
let obj = { excels: [ { field1: '123456789', field2: 'Mohamed', field3: 'Sameer'}, { field1: '111111111', field2: 'Hameed', field3: 'Basha'}, { field1: '222222222', field2: 'Mohamed', field3: 'Basha'} ], header: { '0': 'gsm', '1': 'firstName', '2': 'lastName', '3': 'street'} } let targetObj = []; let keysLength = Object.keys(obj["excels"][0]).length; for(i=0;i< keysLength;i++) { targetObj[i] = {}; let key = obj["header"][i] targetObj[i]['gsm'] = obj["excels"][i]["field1"]; targetObj[i]['firstName'] = obj["excels"][i]["field2"]; targetObj[i]['lastName'] = obj["excels"][i]["field3"]; } console.log(targetObj)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.