var binary = [1,0,0,1,1,1,0,0,1,0];
我有一个函数可以生成随机的位数组。我想组合匹配的元素并返回一个数组,说明有多少个元素被重复。上面给出的输出 = [1,2,3,2,1,1]。
JavaScript 中是否有任何功能可以让我做到这一点?我尝试过搜索,但不太确定如何描述我想要的东西。谢谢。
最佳答案
您可以使用reduce()
方法并将最后一个元素存储在一个变量中。
var binary = [1, 0, 0, 1, 1, 1, 0, 0, 1, 0];
let last = null;
var result = binary.reduce((r, e) => {
if (last == null || last != e) r.push(1);
else r[r.length - 1]++;
last = e;
return r;
}, [])
console.log(result)
关于JavaScript,组合数组中的匹配元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50776360/