You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Javascript中统计连续4个0的序列数量?

统计数组中连续4个0的段数

实现思路

  • 用两个变量分别跟踪当前连续0的个数和符合要求的段数,初始都设为0。
  • 逐个遍历数组元素:
    • 碰到0就累加当前连续计数;
    • 碰到非0元素时,先检查之前攒的连续0数量是否≥4,是的话就把段数加1,然后重置连续计数;
  • 遍历结束后别忘了检查最后一段连续0——如果数组以连续0结尾,循环里不会触发非0判断,得单独处理。

代码实现

function countZeroSegments(arr) {
  let currentZeroCount = 0;
  let validSegmentCount = 0;
  
  for (const num of arr) {
    if (num === 0) {
      currentZeroCount++;
    } else {
      if (currentZeroCount >= 4) {
        validSegmentCount++;
      }
      currentZeroCount = 0;
    }
  }
  
  // 处理数组末尾的连续0段
  if (currentZeroCount >= 4) {
    validSegmentCount++;
  }
  
  return validSegmentCount;
}

测试验证

// 测试示例1
const arr1 = [0, 0, 0, 0, 1];
console.log(countZeroSegments(arr1)); // 输出:1

// 测试示例2
const arr2 = [0, 0, 0, 0, 1, 0, 0, 0, 0];
console.log(countZeroSegments(arr2)); // 输出:2

// 额外测试:数组末尾是5个连续0
const arr3 = [1, 0, 0, 0, 0, 0];
console.log(countZeroSegments(arr3)); // 输出:1

// 额外测试:不足4个的连续0不计入
const arr4 = [0,0,0,1,0,0,0,0];
console.log(countZeroSegments(arr4)); // 输出:1

内容的提问来源于stack exchange,提问作者Deleso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:51:41