Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确格式化此对象_Javascript_Node.js_Html_Forms_Object - Fatal编程技术网

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)

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;
        });
}, []));