從 JavaScript 陣列中的物件中檢索鍵和值


在給定的問題中,我們需要藉助 Javascript 從陣列中的物件中檢索鍵和值。因此,在這裡我們將藉助 Javascript 中物件類提供的兩種方法來檢索陣列中物件的鍵和值。

理解問題陳述

問題陳述是從給定的陣列中的物件中檢索鍵和值,藉助 Javascript。因此,在 Javascript 中,物件是屬性的集合,其中每個屬性都是鍵值對。為了從陣列中的物件中檢索鍵和值,我們將使用物件類的兩種 Javascript 方法。

上述問題的邏輯

為了獲取物件的鍵及其對應的值,我們可以使用 Javascript 中物件類提供的兩種方法。Object.keys(obj) 和 Object.values(obj) 是返回鍵陣列和值陣列的方法。為了從陣列中的每個物件中獲取鍵和值,我們可以使用迴圈遍歷陣列,併為每個物件呼叫 Object.keys 和 Object.values 方法。

在程式碼中,我們將初始化一個物件陣列,並使用 Object.keys 獲取陣列中第一個物件的鍵,然後我們將迴圈遍歷陣列中的每個物件。對於每個物件,我們將使用 Object.values 獲取值,並將輸出作為每次迭代的物件、鍵和值。

演算法

步驟 1:因為我們必須從陣列中的物件中檢索鍵和值,所以首先我們將定義一個物件陣列。用於檢索鍵和值。

步驟 2:定義物件後,接下來我們將使用 Object.keys 方法獲取鍵。

步驟 3:現在我們將不得不使用迴圈來迭代陣列中的每個物件。

步驟 4:在上述迴圈內,我們將使用 Object.values 方法獲取每個物件的值。

步驟 5:最後,我們將列印函式中每次迭代的物件、鍵和值。

示例

const array = [
  {name: 'Amit', age: 30},
  {name: 'Ajay', age: 25},
  {name: 'Ankit', age: 35}
];

// get the keys from first object in array
const keys = Object.keys(array[0]);

for (const obj of array) {
  // get values for current object
  const values = Object.values(obj);
  console.log(`Object: ${JSON.stringify(obj)}, Keys: ${keys}, Values: 
${values}`);
}

輸出

Object: {"name":"Amit","age":30}, Keys: name,age, Values: Amit,30
Object: {"name":"Ajay","age":25}, Keys: name,age, Values: Ajay,25
Object: {"name":"Ankit","age":35}, Keys: name,age, Values: Ankit,35

複雜度

獲取函式中的鍵、值和物件的時間複雜度為 O(n^2)。這裡 n 是陣列中物件的個數。因為我們在其中嵌套了一個迴圈,我們將遍歷陣列中的每個物件,然後遍歷物件中的每個鍵。空間複雜度為 O(n),因為我們將為陣列中的每個物件建立一個新的值陣列。

結論

在上述演算法中,我們展示瞭如何使用 Javascript 從陣列中的物件中獲取鍵和值。我們分別使用 Object.keys 和 Object.values 方法獲取鍵和值。此演算法的時間和空間複雜度分別為 O(n^2) 和 O(n)。

更新於:2023年8月16日

7K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始
廣告