Javascript 从多个数组中生成一个对象

Javascript 从多个数组中生成一个对象,javascript,arrays,object,Javascript,Arrays,Object,我有几个数组,其中存储了来自简单表单的信息 var name=[a,b,c,…]; var last=[x,y,z,…]; var年龄=[1,2,3] 现在的想法是,当有新的人填写表单时,一个新元素被添加到数组中,一个新的对象被创建,它保存了这个人的信息 比如: 很明显,我不想每次都手动创建一个新对象,所以我想必须对for循环进行一些操作,但这如何为对象(I)生成一个新名称呢 我对javascript非常陌生,可能我想得太多了,答案就在眼前,但我真的需要一些帮助。 万分感谢 像这样的东西怎么样:

我有几个数组,其中存储了来自简单表单的信息

var name=[a,b,c,…];
var last=[x,y,z,…];
var年龄=[1,2,3]

现在的想法是,当有新的人填写表单时,一个新元素被添加到数组中,一个新的对象被创建,它保存了这个人的信息 比如:

很明显,我不想每次都手动创建一个新对象,所以我想必须对for循环进行一些操作,但这如何为对象(I)生成一个新名称呢

我对javascript非常陌生,可能我想得太多了,答案就在眼前,但我真的需要一些帮助。
万分感谢

像这样的东西怎么样:

var len = Math.min(name.length, last.length, age.length),
    objects = new Array(len);
for (var i = 0; i < len; i++)
    objects[i] = new Person(name[i], last[i], age[i]);
var len=Math.min(name.length、last.length、age.length),
对象=新数组(len);
对于(变量i=0;i

版本与p.s.w.g稍有不同,p.s.w.g在任何情况下都是好的,假设每个字段都是填充的(每个数组都有相同的大小)

var persons=[];
对于(var i=0;i
一个衬里使用(,和):


只需将生成的
Person
对象存储在数组中;)。如果数组的大小不相同,则人数将等于元素数最少的数组的长度?这可以假设吗?
objects=[]
就足够了,而不是
objects=newarray(len)
@kapa-correct,但我相信设置初始容量会稍微有效一些。@pswg,AFAIK。微观优化是邪恶的;)。但我随时准备学习。@kapa我相信这也很大程度上取决于阵列的大小。请参阅此文件,其初始大小为99999,仅少了一个。@pswg当前只有来自Chrome:)的数据。当然,阵列的大小很重要。还有很多其他的事情。我还是要说不要进行微优化。注意:如果您是JS新手,但不是一般编程新手,我强烈建议您使用下划线。此外,如果您没有下划线,或者希望看到
\uuU9.object()
的实现,还可以看看:这可能很有趣:
var len = Math.min(name.length, last.length, age.length),
    objects = new Array(len);
for (var i = 0; i < len; i++)
    objects[i] = new Person(name[i], last[i], age[i]);
var persons = [];

for (var i = 0; i < names.length; i++)  
  persons.push(new Person(names[i], lasts[i], ages[i]));
var people = _.map(_.zip(names, lasts, ages), function(p) { return _.object(['name','last','age'], p); });