我有一些数组,其中一个是名字,一个是姓氏,一个是电子邮件。我想为数组的每个索引创建一个对象。
名字[0]、姓氏[0]、电子邮件[0]
会变成
{名字:值,姓氏:值,电子邮件:值}
我将从中获取该对象并将其放入数组中。然而目前我在试图弄清楚如何解决这个问题时遇到了困难,我无法集中注意力。希望有人能帮助我想出一个干净的方法来做到这一点。
最佳答案
你只需要一个循环。在循环的每次迭代中,从每个数组中获取当前索引的值。一个简单的 for
循环是最容易理解的。
以下使用 array .map()
method去做这个。它会迭代 firstnames
并构建一个新数组,其中包含作为参数传递给 .map()
的函数返回的任何值。这样做的优点是,您不必手动创建输出数组并将对象插入其中,.map()
会为您完成这部分工作,而且它还避免了在当前范围。
这假设所有数组的长度相同。
var firstnames = ['Annie', 'Ben', 'Chris']
var lastnames = ['Andrews', 'Brown', 'Carmichael']
var emails = ['a@a.com', 'b@b.com', 'c@c.com']
var output = firstnames.map(function(v, i) {
return {
firstname: v,
lastname: lastnames[i],
email: emails[i]
}
})
console.log(output)
关于javascript - 从多个数组创建对象的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460646/