สำหรับสิ่งนี้ ให้ใช้แนวคิดของ reduce() ต่อไปนี้เป็นรหัส -
ตัวอย่าง
const subjectDetails =
[
{
subjectId: '101',
subjectName: 'JavaScript'
},
{
subjectId: '102',
subjectName: 'Java'
},
{
subjectId: '103',
subjectName: 'JavaScript'
}
];
console.log([...subjectDetails.reduce((obj1, obj2) => {
if (obj1.has(obj2.subjectName)){
obj1.get(obj2.subjectName).frequency++;
} else {
obj1.set(obj2.subjectName, { subjectName: obj2.subjectName,
frequency: 1 });
}
return obj1;
}, new Map()).values()]); ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -
node fileName.js.
ที่นี่ ชื่อไฟล์ของฉันคือ demo144.js
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
PS C:\Users\Amit\JavaScript-code> node demo144.js
[
{ subjectName: 'JavaScript', frequency: 2 },
{ subjectName: 'Java', frequency: 1 }
]