我有一个大小为 M(M>n) 的字符串或数字数组。我想检查是否有任何 n 个连续元素相同,其中 n 可以在 1-M 之间变化。
例如,假设我有下面的数组,我想检查是否存在四个连续的“5”或两个连续的“3”:
{1,2,3,4,5,5,5,5,2,6,3,3,1}
我怎样才能实现这个目标?
附注我还使用 Linq.JS 在数组上执行 linq 函数。
最佳答案
你可以这样做
var arr = [1,2,3,4,5,5,5,5,2,6,3,3,1],
result = arr.reduce((p,c,i,a) => c !== a[i+1] ? (p[p.length-1][0] = c, p.concat([[0,1]]))
: (p[p.length-1][0] = c, p[p.length-1][1]++, p),[[true,1]])
.slice(0,-1);
console.log(result);
关于javascript - Typescript 检查 "any n consecutive elements are same"是否在 M 大小的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39561743/