【发布时间】:2021-12-11 17:51:03
【问题描述】:
我有一个返回类似的数组:
const arr = [
{
"id": "5ac2f57f-61cf-454b-9457-484b8484c1d3",
"userID": "7d21e968-f32a-4cb9-a0db-dd98d1d2973a",
"tag": "REPORT_CREATE",
},
{
"id": "3d302f03-75da-40cf-8b86-d9673fdc3b4a",
"userID": "1dafdb46-a49e-4194-9e5b-9c44be7e4cda",
"tag": "REPORT_CREATE",
},
]
我需要返回“userID”的频率,但正如你所见,它是一个子项。
所以如果我这样做:
function getOccurrence(array, value) {
var count = 0;
array.forEach((v) => (v === value && count++));
return count;
}
console.log(getOccurrence(arr, "userIDsomething"));
这不会导致userID 必须是对象本身,而不是在 [0]、[1] 等内部。但我被困在那里。有什么建议吗?
【问题讨论】:
-
array.forEach((v) => (v.userID === value && count++));,但您也可以将属性传递给您的函数以使其更可重用。getOccurrence(array, value, prop) {...然后array.forEach((v) => ((prop ? v[prop] : v) === value && count++));
标签: javascript arrays loops foreach frequency