Javascript 减少,从第二次出现开始计数

Javascript reduce, count from second occurence

我有一个名为 adct 的简单数组,只有一个成员 'title',我 grouping/counting 具有 reduce 函数。下面的代码按预期工作,但实际上我只想计算第二次出现的元素,而不是第一次出现的元素。我认为这很简单,但我不知道该怎么做。帮助将不胜感激。谢谢

    let result = adct.reduce(function (r, a) {
        r[a.title] = r[a.title] || [];
        r[a.title]++;
        return r;
    }, Object.create(null));

可能有更优雅的方法,但这是我想出的方法

let result = Object.fromEntries(Object.entries( // wrap the reduce as an array
    adct.reduce(function(r, a) {
      r[a.title] = r[a.title] || [];
      r[a.title]++;
      return r; }, Object.create(null)))
    .filter(e=>e[1]>0)) // filter out the zeroes

const adct=[{title:'fred'}, {title:'fred'}, {title:'fred'}, {title:'wilma'}, {title:'wilma'}, {title:'fred'}];

let result = Object.fromEntries(Object.entries(adct.reduce(function(r, a) {
  r[a.title] = r[a.title] || [];
  r[a.title]++;
  return r;
}, Object.create(null)))
.map(e=>{ e[1]--; return e;})
.filter(e=>e[1]>0))

console.log(result)

/* result:
{
  "fred": 3,
  "wilma": 1
}
*/