Javascript 如何正确格式化此对象
我得到了一个具有数组的对象,该数组提供了此输出(输入来自一系列具有组名的表单): 我希望对象的格式如下:Javascript 如何正确格式化此对象,javascript,node.js,html,forms,object,Javascript,Node.js,Html,Forms,Object,我得到了一个具有数组的对象,该数组提供了此输出(输入来自一系列具有组名的表单): 我希望对象的格式如下: [{username : username1, firstname : firstname1, lastname : lastname1, email : email1}, {username: username2, firstname: firstname2, lastname : lastname2, email : e
[{username : username1,
firstname : firstname1,
lastname : lastname1,
email : email1},
{username: username2,
firstname: firstname2,
lastname : lastname2,
email : email2}
]
当我使用node.js时,我认为有一些使用lodash的方法。谁能给我一些帮助吗?谢谢大家! 可能的解决方案,使用
Array#forEach
和Object.keys
var obj={username:['username1','username2'],firstname:['firstname1','firstname2'],lastname:['lastname1','lastname2'],email:['email1','email2']},res=[];
obj.username.forEach(函数(\ui){
var对象={};
Object.keys(obj.forEach)函数(c){
object[c]=obj[c][i];
});
res.push(对象);
});
控制台日志(res)纯javascript中的代码>:
var oldObj = {
username: [ 'username1', 'username2' ],
firstname: [ 'firstname1', 'firstname2' ],
lastname: [ 'lastname1', 'lastname2' ],
email: [ 'email1', 'email2' ],
};
var newArray =[];
for(var key in oldObj)
{
oldObj[key].forEach(function(property){
var index = oldObj[key].indexOf(property);
if(!newArray[index])
newArray[index] = {};
newArray[index][key] = property
});
}
使用lodash
-
console.log(_.transform(myObj, function(result, value, key) {
_.each(value, function( val, i){
if(!result[i]) result[i] = {};
result[i][key]= val;
});
}, []));
请在此处尝试-每个数组的长度是否相同?是的,因为它是从一系列用户输入中提取的,每个表单组都有必需的信息。这一个非常完美!!谢谢,它解决了我的问题:)
console.log(_.transform(myObj, function(result, value, key) {
_.each(value, function( val, i){
if(!result[i]) result[i] = {};
result[i][key]= val;
});
}, []));