首页 > 解决方案 > 如何计算和记录对象数组中的重复次数

问题描述

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

let arr = [
  {item:"pen"},
  {item:"book"},
  {item:"pen"}
];

这应该返回:

let arr = [
  {item:"pen", found: 2},
  {item:"book", found: 1},
  {item:"pen", found: 2}
]

属性“found”应指示项目在数组中出现的次数。

标签: javascript

解决方案


你可以使用两个循环一个迭代一个过滤器,即

arr.forEach(item => {
  item.found = arr.filter(filterObject => filterObject.item == item.item).length;
})

推荐阅读