JavaScript遍历数组计算首元素与长度之和的代码问题求助
问题解决:计算数组首元素与数组长度的和
原代码存在的问题
- 仅对
dataArray1进行了处理,未将另外三个目标数组纳入计算逻辑 if (!numList.length)的判断仅在第一次循环时生效,后续循环始终复用dataArray1的长度和首元素,导致结果重复- 循环次数设置冗余(
i<=4会执行5次,但实际只需处理4个数组)
修改后的实现方案
将所有目标数组存入一个集合,遍历集合逐个计算并输出结果,以下是两种可行写法:
写法1:使用forEach遍历(更简洁)
var dataArray1=[1,2,5]; // 预期输出 4 var dataArray2=[3,0,2,5];// 预期输出 7 var dataArray3=[-5,0,2,5];// 预期输出 -1 var dataArray4=[1]; // 预期输出 2 // 把所有需要计算的数组统一存入一个数组 const targetArrays = [dataArray1, dataArray2, dataArray3, dataArray4]; // 遍历每个数组,计算首元素+数组长度并打印 targetArrays.forEach(arr => { const result = arr[0] + arr.length; console.log(result); });
写法2:使用普通for循环(兼容性更广)
var dataArray1=[1,2,5]; var dataArray2=[3,0,2,5]; var dataArray3=[-5,0,2,5]; var dataArray4=[1]; const targetArrays = [dataArray1, dataArray2, dataArray3, dataArray4]; for (let i = 0; i < targetArrays.length; i++) { const currentArr = targetArrays[i]; const result = currentArr[0] + currentArr.length; console.log(result); }
核心逻辑说明
- 将分散的数组整合为一个数组集合,避免重复编写相同的计算代码
- 对每个数组直接取
arr[0](首元素)和arr.length(数组长度)求和,逻辑清晰直接 - 两种写法最终都会依次输出预期结果:
4、7、-1、2
内容的提问来源于stack exchange,提问作者Leo Derramas
相关产品推荐
相关产品推荐

