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

javascriptweb developmentfront end technologyobject oriented programming

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

const obj = {
   city: "New Delhi",
   maxTemp: 32,
   minTemp: 21,
   pressure: 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' ]
];

相关文章