Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

แยก key และ value เป็นอ็อบเจกต์แยกกัน - JavaScript

สมมติว่าเรามีอ็อบเจกต์ดังนี้:

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

เราต้องเขียนฟังก์ชันที่รับอ็อบเจกต์นี้และคืนค่าอาร์เรย์ของอ็อบเจกต์ที่แยก key และ value ออกจากกัน

ผลลัพธ์ควรเป็น:

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