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

JavaScript如何按连续数字规则将数组分割为指定长度的子数组块

JavaScript连续数字数组定长分块实现方案

核心逻辑

  • 遍历原始数组,临时存储当前正在收集的连续数字块
  • 每次新增元素时校验连续性:当前元素必须等于临时块最后一个元素 + 1,否则中断当前块的收集,长度不足4的临时块直接丢弃
  • 连续收集过程中,临时块长度达到4时,将其存入最终结果数组,清空临时块继续收集后续元素
  • 遍历结束后剩余长度不足4的临时块直接丢弃,不纳入最终结果

代码实现

function chunkContinuous(arr) {
  const result = [];
  let currentChunk = [];

  for (const num of arr) {
    // 临时块为空直接加入元素
    if (currentChunk.length === 0) {
      currentChunk.push(num);
      continue;
    }
    // 校验数字连续性
    if (num === currentChunk.at(-1) + 1) {
      currentChunk.push(num);
      // 满4个就存入结果,清空临时块
      if (currentChunk.length === 4) {
        result.push([...currentChunk]);
        currentChunk = [];
      }
    } else {
      // 出现不连续数字,丢弃当前不足4位的临时块
      currentChunk = [];
      currentChunk.push(num);
    }
  }
  return result;
}

效果测试

输入示例:

const input = [36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,57,58,59,60,61,62];
console.log(chunkContinuous(input));

输出结果:

[[36,37,38,39],[40,41,42,43],[44,45,46,47],[48,49,50,51],[57,58,59,60]]

完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:21:01