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

时间:2016-07-12 20:53:08

标签: javascript arrays

我正在开发一个项目,我需要一个像这样的数组:

user = [{
"name": "foo",
"email": "foo@foo.com"
},{
"name": "bar",
"email": "bar@bar.com"
},]

值name和email分为两个独立的数组,如:

names=[foo,bar];
mails=[foo@foo.com,bar@bar.com]

如何在具有预定义键名和电子邮件的单个对象数组中转换这两个数组?

我正在尝试这样的事情:

var user = [];
    for(var i=0; i<names.length; i++) {
        user[i].name = names[i];
        user[i].email = mails[i];
    }

但是这会引发一个错误,即没有定义name属性。

1 个答案:

答案 0 :(得分:0)

你必须以这种方式推送由女主人和电子邮件组成的对象

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' } ]