如何使用 JavaScript 將物件陣列轉換為陣列?
我們可以使用 Object.values() 方法、Array push() 方法和 for…of 迴圈來使用 JavaScript 將物件陣列轉換為陣列。首先,我們使用 for…of 迴圈訪問每個物件,然後應用 Object.values() 方法來訪問單個物件的 value。然後使用 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 迴圈用於遍歷陣列或任何可迭代物件的 value。要使用 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>
廣告