如何实现JavaScript任意长度数组元素两两相加的通用方法
数组元素两两配对求和通用实现方案
- 核心逻辑:遍历数组时设置步长为2,每次取当前索引和下一个索引的元素做加法
- 兼容规则:如果数组长度为奇数,最后一个剩余元素默认和0相加,可根据业务需求调整为直接保留元素或跳过该元素
function getPairwiseSumArr(arr) { const result = [] // 每次步进2个位置,依次取配对元素 for (let i = 0; i < arr.length; i += 2) { // 下一个配对元素不存在时默认取0,如需直接保留单个元素可以改为:const currentSum = i + 1 < arr.length ? arr[i] + arr[i+1] : arr[i] const currentSum = arr[i] + (arr[i + 1] ?? 0) result.push(currentSum) } return result } // 测试示例1:偶数长度数组,和示例效果完全一致 const testArr1 = [6, 5, 4, 3] console.log(getPairwiseSumArr(testArr1)) // 输出 [11, 7] // 测试示例2:奇数长度数组 const testArr2 = [1, 2, 3, 4, 5] console.log(getPairwiseSumArr(testArr2)) // 输出 [3, 7, 5]
如果不需要保留奇数长度的最后一个元素,只要把循环条件改成i < arr.length - 1即可,最后单个元素会被自动忽略。
内容的提问来源于stack exchange,提问作者B-rad Gee
相关产品推荐
相关产品推荐

