Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

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

Để làm điều này, hãy sử dụng khái niệm reduce(). Dưới đâ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

Tên tệp của tôi là demo144.js.

Kết quả

Chương trình sẽ cho ra kết quả sau:

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