JavaScript 如何将Object的数组转换为数组
我们可以使用Object.values()方法,Array puch()方法和for…of循环来将Object的数组转换成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…的循环
-
使用array.map方法
使用for…的循环
for…of 循环用于遍历数组或任何可遍历对象的值。要使用for…of循环将一个对象的数组转换为一个数组,我们使用以下步骤。
步骤
- 创建一个空的,我们在其中存储结果值。
-
使用for…的循环遍历对象的数组
-
正如我们所知,数组中的项目是我们想要的对象的值。
-
通过array.push和Object.values()方法将当前对象的值推入空数组。
例子
在这个例子中,我们有一个对象的数组。这些对象包含名字和汽车模式。我们正在提取这些值并使用for…的循环将它们分配到一个数组中。
<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>