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

วิธีที่ดีที่สุดในการลบรายการที่ซ้ำกันออกจากอาร์เรย์ของวัตถุใน JavaScript?


สมมติว่าต่อไปนี้คืออาร์เรย์ของวัตถุที่ซ้ำกัน -

var studentDetails=[
   {studentId:101},
   {studentId:104},
   {studentId:106},
   {studentId:104},
   {studentId:110},
   {studentId:106},
]

ใช้แนวคิดของ set เพื่อลบรายการที่ซ้ำกันตามโค้ดด้านล่าง -

ตัวอย่าง

var studentDetails=[
   {studentId:101},
   {studentId:104},
   {studentId:106},
   {studentId:104},
   {studentId:110},
   {studentId:106},
]
const distinctValues = new Set
const withoutDuplicate = []
for (const tempObj of studentDetails) {
   if (!distinctValues.has(tempObj.studentId)) {
      distinctValues.add(tempObj.studentId)
      withoutDuplicate.push(tempObj)
   }
}
console.log(withoutDuplicate);

ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -

node fileName.js.

ผลลัพธ์

ที่นี่ ชื่อไฟล์ของฉันคือ demo158.js สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

PS C:\Users\Amit\JavaScript-code> node demo158.js
[
   { studentId: 101 },
   { studentId: 104 },
   { studentId: 106 },
   { studentId: 110 }
]