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

JS如何实现数组元素与相邻前一项组合生成两两分组二维数组

问题原因

你当前使用的是无重叠的固定长度分块逻辑,每个元素只会被分到一个分组中,自然无法得到相邻元素重叠的分组结果。同时你原始数组的元素是字符串类型,预期输出是数字类型,还需要额外加一步类型转换。

修改后的实现代码

const arr = ["0","22","36","49","54","64","69","82","87","110","115","128","133","143","148","161","166","179","184","197","202","211","216","229","234","246","251","263","268","280","285","297","302","314","319"]

function generateOverlapChunk(arr) {
  // 先将字符串元素统一转为数字类型
  const numArr = arr.map(Number)
  const result = []
  // 遍历到倒数第二个元素为止,每个元素和后一位元素组成配对分组
  for (let i = 0; i < numArr.length - 1; i++) {
    result.push([numArr[i], numArr[i+1]])
  }
  // 最后追加仅包含末尾元素的单独分组
  result.push([numArr[numArr.length - 1]])
  return result
}

const chunked = generateOverlapChunk(arr)

结果验证

运行后输出的结果完全符合要求:

[[0,22],[22,36],[36,49],[49,54]...[314,319], [319]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:57:03