如何使用JavaScript将对象的数组转换为数组
我们可以使用Object.values()方法,Array push()方法和for…of循环来使用JavaScript将对象的数组转换为数组。首先使用for…of循环访问每个对象,然后应用Object.values()方法来访问各个对象的值。然后使用Array push()方法将这些值添加到数组中。在本文中,我们将详细讨论这种方法。
让我们来看一个示例,以了解问题。
您已经给定了一个对象数组,并且任务是将对象数组转换为对象值的数组。以下是我们要实现的示例。
给定对象数组 –
let carObj = [
{ name: "John", car: "Ford" },
{ name: "Mark", car: "BMW" },
{ name: "Ben", car: "Toyota" }
]
应该被转换为−
let carObj = ["John", "Ford", "Mark", "BMW", "Ben", "Toyota" ]
有多种方法可以实现这个目标。其中一些方法是 –
- 使用for…of循环
-
使用array.map方法
使用for…of循环
for…of循环用于遍历数组或任何可迭代对象的值。要使用for…of循环将对象数组转换为数组,我们使用以下步骤。
步骤
- 创建一个空数组,其中存储结果值。
-
使用for…of循环遍历对象数组
-
因为我们知道数组的项是我们想要的值的对象。
-
通过array.push和Object.values()方法将当前对象的值推入空数组。
示例
在这个示例中,我们有一个对象数组。这些对象包含姓名和汽车型号。我们正在使用for…of循环提取这些值,并将它们赋值给一个单独的数组。
<html>
<head>
<title>How to convert Object’s array to an array using JavaScript?</title>
</head>
<body>
<h3 id="demo">Converting Object’s array to an array using for...of loop</h3>
<script>
// The car object
let carObj = [
{ name: "John", car: "Ford" },
{ name: "Mark", car: "BMW" },
{ name: "Ben", car: "Toyota" }
]
// Initialize an empty array
let arr = [];
// Loop through the car object
for (i of carObj) {
// Push the values of every object into arr
arr.push(...Object.values(i))
}
// Print the arr
document.write("Final Array: " + arr)
</script>
</body>
</html>
使用Array.map()方法
Array.map()方法会对数组的每个元素调用一个函数,并返回一个新数组。要使用Array.map()方法将对象数组转换为数组,可以按照以下步骤进行操作。
- 在对象数组上应用map方法。
-
在每次迭代之后,返回要提取的键的值。
-
您将获得包含特定键的所有值的数组。
示例
在此示例中,我们有一个对象数组,其中包含名称和汽车型号。我们正在将所有车辆提取到一个单独的数组中,将所有名称提取到一个单独的数组中。
<html>
<head>
<title>Example- How to convert Object's array to an array using JavaScript</title>
</head>
<body>
<h3 id="demo">Converting Object's array to an array using Array.map() method</h3>
<script>
// The car object
let carObj = [
{ name: "John", car: "Ford" },
{ name: "Mark", car: "BMW" },
{ name: "Ben", car: "Toyota" }
]
let nameArr = carObj.map((item) => item.name)
let carArr = carObj.map((item) => item.car)
// Print the Arrays
document.write("Names Array : " + nameArr + "<br>")
document.write("Cars Array : " + carArr)
</script>
</body>
</html>