在数组中使用 JavaScript 查找某个对象属性值的出现次数?


为此,请使用 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 }
]

更新时间: 11-9-2020

81 次浏览

开启您的 职业生涯

完成课程获得认证

开始
广告