Javascript 如何将两个数组转换为键值对并将它们附加到数组中

Javascript 如何将两个数组转换为键值对并将它们附加到数组中,javascript,arrays,Javascript,Arrays,我正在从事一个项目,其中我需要这样一个阵列: user = [{ "name": "foo", "email": "foo@foo.com" },{ "name": "bar", "email": "bar@bar.com" },] var user = []; for(var i=0; i<names.length; i++) { user[i].name = names[i]; user[i].email = mails[i]; }

我正在从事一个项目,其中我需要这样一个阵列:

user = [{
"name": "foo",
"email": "foo@foo.com"
},{
"name": "bar",
"email": "bar@bar.com"
},]
var user = [];
    for(var i=0; i<names.length; i++) {
        user[i].name = names[i];
        user[i].email = mails[i];
    }
值name和email位于两个单独的数组中,如:

names=[foo,bar];
mails=[foo@foo.com,bar@bar.com]
如何将这两个数组转换为具有预定义键name和email的单个对象数组

我正在尝试这样的事情:

user = [{
"name": "foo",
"email": "foo@foo.com"
},{
"name": "bar",
"email": "bar@bar.com"
},]
var user = [];
    for(var i=0; i<names.length; i++) {
        user[i].name = names[i];
        user[i].email = mails[i];
    }

但这会导致一个错误,即没有定义name属性。

您只需以这种方式推送由mames和email组成的对象即可

var names=["foo","bar"];
var mails=["foo@foo.com","bar@bar.com"];
var users = [];
for(var i=0; i<names.length; i++) users.push({"name" : names[i], "email" : mails[i]});
console.log(users); 

Run:
[ { name: 'foo', email: 'foo@foo.com' },
{ name: 'bar', email: 'bar@bar.com' } ]

它是一个简单的for循环,将对象推送到结果数组上。请展示你试过的东西。@isherwood这不是那个问题。@isherwood他没有一系列钥匙。两个数组都包含值,它们在结果数组中进入不同的属性。@Barmar我什么都没试过。。你能帮忙吗?我正在为此制定一个解决方案,现在我无法回答这个问题,哈哈。