Javascript 对相同元素的连续对进行计数

Javascript 对相同元素的连续对进行计数,javascript,arrays,Javascript,Arrays,给定一个数组arr[],如果数组中连续1,则任务是返回true: let arr = [0,0,0,0,0,0,1,1,0,1,1,1,1] // returns false => 4 consecutive 1 let arr = [0,0,0,0,0,1,1,0,1,1,1,1,1,0,0] // returns true => 5 consecutive 1 注意:数组只包含0和1。您可以使用for循环来执行此操作,迭代数组的每个条目,如果计数器为1,则递增计数器,如果计数器

给定一个数组
arr[]
,如果数组中连续
1
,则任务是返回
true

let arr = [0,0,0,0,0,0,1,1,0,1,1,1,1] // returns false => 4 consecutive 1
let arr = [0,0,0,0,0,1,1,0,1,1,1,1,1,0,0] // returns true => 5 consecutive 1

注意:数组只包含0和1。您可以使用for循环来执行此操作,迭代数组的每个条目,如果计数器为1,则递增计数器,如果计数器为0,则重置计数器

let arr1=[0,0,0,0,0,1,1,0,1,1,1]//返回false=>4个连续的1
设arr2=[0,0,0,0,1,1,0,1,1,1,1,1,1,0,0]//返回true=>5个连续的1
设arr3=[0,0,0,0,1,1,0,0,0,0,1,1,1]//返回true=>5个连续的1
函数hasConcertiveOne(arr){
设计数器=0;
对于(i=0;i
您可以尝试以下方法:

const fiveOnes = (arr) => {
  let oneCount = 0;
  for(let a of arr){
    if(a===0){
      oneCount = 0;
    }
    else{
      oneCount++;
      if(oneCount>=5) break;
    }
  }

  return (oneCount >= 5);
}

编辑:每次获得“1”时递增计数器,并在数组中获得“0”时将计数器重置回0。当连续“1”的总计数等于5时,退出循环以节省时间并返回结果

你可以用计数器检查一下

constcheck5=array=>array.some((c=>v=>!(v?++c:(c=-5))(-5));
log(检查5([0,0,0,0,0,0,0,1,1,0,1,1,1]);

log(检查5([0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,0])任务是什么?张贴的问题似乎根本不包括解决问题的任何尝试。Stack Overflow希望您这样做,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以显示您已尝试的内容,以便说明您在考试中遇到的具体障碍。有关更多信息,请参阅并阅读。仅代码的答案通常被认为是低质量的。“你能给你的答案加一个解释吗?”莱蒙·卡齐,我同意。谢谢你的评论。