Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm số lần giá trị của một thuộc tính đối tượng xuất hiện trong một mảng với JavaScript?

Đối với điều này, hãy sử dụng khái niệm Reduce (). Sau đây là mã -

Ví dụ

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()]);

Để chạy chương trình trên, bạn cần sử dụng lệnh sau -

node fileName.js.

Đây, tên tệp của tôi là demo144.js.

Đầu ra

Điều này sẽ tạo ra kết quả sau -

PS C:\Users\Amit\JavaScript-code> node demo144.js
[
   { subjectName: 'JavaScript', frequency: 2 },
   { subjectName: 'Java', frequency: 1 }
]