JavaScript 如何从多个数组创建对象数组
在本文中,我们将尝试了解如何从多个数组中创建对象数组在JavaScript中。有一些常见的方法:
- console.log()方法
- Array.map()方法
- for..loop方法
让我们首先尝试分析如何使用下面的语法创建一个包含多个对象的数组。
语法: 我们使用以下语法来创建和分析包含多个对象的数组:
let array_of_objects = [
{
property_name : property_value,
...
},
{
property_name : property_value,
...
},
...
]
让我们快速查看下面显示的示例,这将帮助我们澄清上述语法。
示例1: 在这个示例中,我们将简单地创建一个对象数组,然后使用console.log()方法输出它。
Javascript
let books_details = [
{
book_id: 1,
book_name: "Live Life Happily..!!",
book_author: "Aman",
book_copies: 10,
},
{
book_id: 2,
book_name: "Be Energetic Always..!!",
book_author: "Ram",
book_copies: 20,
},
{
book_id: 3,
book_name: "Earn Respect..!!",
book_author: "Shyam",
book_copies: 30,
},
];
console.log(books_details);
输出:
[
{
book_id: 1,
book_name: 'Live Life Happily..!!',
book_author: 'Aman',
book_copies: 10
},
{
book_id: 2,
book_name: 'Be Energetic Always..!!',
book_author: 'Ram',
book_copies: 20
},
{
book_id: 3,
book_name: 'Earn Respect..!!',
book_author: 'Shyam',
book_copies: 30
}
]
让我们看看这唯一的单一方法,通过它我们可以轻松解决我们的问题陈述,即如何从多个数组中创建一个对象数组,使用上述示例。
示例2: 在这个示例中,我们将创建多个数组(一个接一个),并且在此之后,我们将使用Array.map()方法遍历我们的数组,然后在返回一个对象时,我们将嵌入所有的属性和它们对应的值,这些值在其余的数组中是可用的。
Javascript
let book_ids = [1, 2, 3];
let book_names = [
"Live Life Happily..!!",
"Be Energetic Always..!!",
"Earn Respect..!!",
];
let book_authors = ["Aman", "Ram", "Shyam"];
let book_copies = [10, 20, 30];
let books_details = book_ids.map((id, index_value) => {
return {
id: id,
book_name: book_names[index_value],
book_author: book_authors[index_value],
book_copies: book_copies[index_value],
};
});
console.log(books_details);
输出:
[
{
id: 1,
book_name: 'Live Life Happily..!!',
book_author: 'Aman',
book_copies: 10
},
{
id: 2,
book_name: 'Be Energetic Always..!!',
book_author: 'Ram',
book_copies: 20
},
{
id: 3,
book_name: 'Earn Respect..!!',
book_author: 'Shyam',
book_copies: 30
}
]
示例 3:使用for循环: 通过使用for循环,我们可以将多个数组合并为一个数组对象。
Javascript
const no = [1, 2, 3];
const player = ["Virat kohli", "Ab de villiers", "Glenn Maxwell"];
const country = ["India", "South africa", "Australia"];
for (let i = 0; i < no.length; i++) {
const newArray = {
no: no[i],
Player_name: player[i],
country_name: country[i],
}
console.log(newArray);
};
输出:
{no: 1, Player_name: 'Virat kohli', country_name: 'India'}
{no: 2, Player_name: 'Ab de villiers', country_name: 'South africa'}
{no: 3, Player_name: 'Glenn Maxwell', country_name: 'Australia'}
极客教程