在陣列中使用 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 }
]
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP