JavaScript(ES6, ES2015)

reduce だから畳み込み

f==a[i+1] が真なら、n+1。
偽なら、(ary[n] = [f,...ary[n]||[]]), 0 )