在 JavaScript 中將物件轉換為 2-D 陣列


假設我們有一個包含有關城市天氣資訊的物件 -

const obj = {
   city: "New Delhi",
   maxTemp: 32,
   minTemp: 21,
   humidity: 78,
   aqi: 456,
   day: 'Tuesday',
};

我們需要編寫一個接收此類物件的 JavaScript 函式。該函式應該基於此物件構造一個數組的陣列,其中每個子陣列恰好包含兩個屬性 -

  • 對應的鍵

  • 該鍵的值

因此,對於上述物件,輸出應該如下所示 -

const output = [
   [ 'city', 'New Delhi' ],
   [ 'maxTemp', 32 ],
   [ 'minTemp', 21 ],
   [ 'humidity', 78 ],
   [ 'aqi', 456 ],
   [ 'day', 'Tuesday' ]
];

示例

程式碼如下 -

const obj = {
   city: "New Delhi",
   maxTemp: 32,
   minTemp: 21,
   humidity: 78,
   aqi: 456,
   day: 'Tuesday',
};
const objectToArray = (obj = {}) => {
   const res = [];
   const keys = Object.keys(obj);
   for(key of keys){
      res.push([
         key, obj[key]
      ]);
   };
   return res;
};
console.log(objectToArray(obj));

輸出

控制檯上的輸出如下 -

[
   [ 'city', 'New Delhi' ],
   [ 'maxTemp', 32 ],
   [ 'minTemp', 21 ],
   [ 'humidity', 78 ],
   [ 'aqi', 456 ],
   [ 'day', 'Tuesday' ]
];

更新於: 10-Dec-2020

691 次瀏覽

開啟您的 事業生涯

透過完成課程以獲得認證

入門
廣告
© . All rights reserved.