如何使用JavaScript将对象的数组转换为数组

如何使用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>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程