สมมติว่าต่อไปนี้คืออาร์เรย์ของเรา –
var details = [
{
studentName: "John",
studentMarks: [78, 98]
},
{
studentName: "David",
studentMarks: [87, 87]
},
{
studentName: "Bob",
studentMarks: [48, 58]
},
{
studentName: "Sam",
studentMarks: [98, 98]
},
] เราจำเป็นต้องลบค่าคุณสมบัติที่ซ้ำกันเช่น 87 กำลังทำซ้ำด้านบน เราจำเป็นต้องลบมันออก
สำหรับสิ่งนี้ ให้ใช้แนวคิดของ map()
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
var details = [
{
studentName: "John",
studentMarks: [78, 98]
},
{
studentName: "David",
studentMarks: [87, 87]
},
{
studentName: "Bob",
studentMarks: [48, 58]
},
{
studentName: "Sam",
studentMarks: [98, 98]
},
]
details.map(tempObj => {
if (typeof (tempObj.studentMarks) == 'object') {
tempObj.studentMarks = [... new Set(tempObj.studentMarks)]
if (tempObj.studentMarks.length == 1) {
tempObj.studentMarks = tempObj.studentMarks[0]
}
}
});
console.log(details); ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -
node fileName.js.
ที่นี่ ชื่อไฟล์ของฉันคือ demo292.js
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -
PS C:\Users\Amit\javascript-code> node demo292.js
[
{ studentName: 'John', studentMarks: [ 78, 98 ] },
{ studentName: 'David', studentMarks: 87 },
{ studentName: 'Bob', studentMarks: [ 48, 58 ] },
{ studentName: 'Sam', studentMarks: 98 }
]