Computer >> Máy Tính >  >> Lập trình >> Javascript

Chuyển đổi đối tượng thành mảng 2-D trong JavaScript

Giả sử chúng ta có một đối tượng chứa thông tin về thời tiết của một thành phố -

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

Chúng tôi được yêu cầu viết một hàm JavaScript có một đối tượng như vậy. Hàm phải tạo một mảng mảng dựa trên đối tượng này, trong đó mỗi mảng con chứa chính xác hai thuộc tính -

  • khóa tương ứng

  • giá trị của khóa đó

Do đó, đối với đối tượng trên, đầu ra sẽ giống như -

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

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

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