如何计算和记录对象数组中的重复项

Har*_*rry -1 javascript

我有一个数组,我需要计算并记录每个项目重复多少次。例如以下数组:

let arr = [
  {item:"pen"},
  {item:"book"},
  {item:"pen"}
];
Run Code Online (Sandbox Code Playgroud)

这应该返回:

let arr = [
  {item:"pen", found: 2},
  {item:"book", found: 1},
  {item:"pen", found: 2}
]
Run Code Online (Sandbox Code Playgroud)

属性“找到”应指示项目在阵列中出现多少次。

小智 6

您可以使用两个循环之一进行迭代,其中一个用于过滤器,即

arr.forEach(item => {
  item.found = arr.filter(filterObject => filterObject.item == item.item).length;
})
Run Code Online (Sandbox Code Playgroud)