Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

แยกคีย์และค่าออกเป็นอ็อบเจ็กต์แยกกัน - JavaScript


สมมติว่าเรามีวัตถุเช่นนี้ −

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

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับออบเจ็กต์ดังกล่าวและส่งคืนอาร์เรย์ของออบเจ็กต์ที่มีคีย์และค่าที่แยกจากกัน

ดังนั้น สำหรับวัตถุข้างต้น ผลลัพธ์ควรเป็น −

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

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -

[
   { 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 }
]