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

แปลงวัตถุของวัตถุเป็นอาร์เรย์ใน JavaScript


สมมติว่าเรามีวัตถุต่อไปนี้ของวัตถุที่มีการจัดอันดับของผู้เล่นชาวอินเดียบางคน เราจำเป็นต้องแปลงสิ่งนี้เป็นอาร์เรย์ของวัตถุโดยแต่ละวัตถุมีคุณสมบัติสองอย่างคือชื่อและอันดับที่ชื่อถือชื่อผู้เล่นและอันดับถือวัตถุจัดอันดับ -

ต่อไปนี้เป็นวัตถุตัวอย่างของเรา -

const playerRating = {
   'V Kohli':{
      batting: 99,
      fielding: 99
   },
   'R Sharma':{
      batting: 98,
      fielding: 95
   },
   'S Dhawan':{
      batting: 92,
      fielding: 90
   }
}

วิธีแก้ปัญหานี้ค่อนข้างง่ายและตรงไปตรงมา เราจะใช้เมธอด Object.keys() วนซ้ำบนอ็อบเจ็กต์พร้อมๆ กันเพื่อแปลงเป็นอาร์เรย์แบบนี้

ต่อไปนี้เป็นรหัสที่สมบูรณ์พร้อมเอาต์พุต

ตัวอย่าง

const playerRating = {
   'V Kohli':{
         batting: 99,
      fielding: 99
   },
   'R Sharma':{
      batting: 98,
      fielding: 95
   },
   'S Dhawan':{
      batting: 92,
      fielding: 90
   }
}
const objArray = [];
Object.keys(playerRating).forEach(key => objArray.push({
   name: key,
   rating: playerRating[key]
}));
console.log(objArray);

ผลลัพธ์

[
   { name: 'V Kohli', rating: { batting: 99, fielding: 99 } },
   { name: 'R Sharma', rating: { batting: 98, fielding: 95 } },
   { name: 'S Dhawan', rating: { batting: 92, fielding: 90 } }
]