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

Tách các khóa và giá trị thành các đối tượng riêng biệt - JavaScript

Giả sử, chúng ta có một đối tượng như thế này -

const dataset = {
   "diamonds":77,
   "gold-bars":28,
   "exciting-stuff":52,
   "oil":51,
   "sports-cars":7,
   "bitcoins":40
};

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một đối tượng như vậy và trả về một mảng đối tượng có các khóa và giá trị của chúng được phân tách.

Do đó, đối với đối tượng trên, kết quả đầu ra phải là -

const output = [
   {"asset":"diamonds", "quantity":77},
   {"asset":"gold-bars", "quantity":28},
   {"asset":"exciting-stuff", "quantity":52},
   {"asset":"oil", "quantity":51},
   {"asset":"bitcoins", "quantity":40}
];

Ví dụ

Sau đây là mã -

const dataset = {
   "diamonds":77,
   "gold-bars":28,
   "exciting-stuff":52,
   "oil":51,
   "sports-cars":7,
   "bitcoins":40
};
const splitKeyValue = obj => {
   const keys = Object.keys(obj);
   const res = [];
   for(let i = 0; i < keys.length; i++){
      res.push({
         'asset': keys[i],
         'quantity': obj[keys[i]]
      });
   };
   return res;
};
console.log(splitKeyValue(dataset));

Đầu ra

Điều này sẽ tạo ra kết quả sau trên bảng điều khiển -

[
   { asset: 'diamonds', quantity: 77 },
   { asset: 'gold-bars', quantity: 28 },
   { asset: 'exciting-stuff', quantity: 52 },
   { asset: 'oil', quantity: 51 },
   { asset: 'sports-cars', quantity: 7 },
   { asset: 'bitcoins', quantity: 40 }
]