For this, use the concept of reduce(). Following is the code −
Example
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()]);
To run the above program, you need to use the following command −
node fileName.js.
Here, my file name is demo144.js.
Output
This will produce the following output −
PS C:\Users\Amit\JavaScript-code> node demo144.js [ { subjectName: 'JavaScript', frequency: 2 }, { subjectName: 'Java', frequency: 1 } ]