我们可以使用 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...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>