在JavaScript中将对象转换为二维数组

假设我们有一个对象,其中包含有关城市天气的信息-

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' ]
];