初学者友好的JS代码实现数组指定数字筛选求和
适合初学者的JavaScript数组筛选求和实现
给定数组:
const arr = [1, 1, 3, 3, 3, 2, 2, 1, 3, 3, 2, 3, 4, 2, 3, 4, 4, 2, 1, 3, 2, 4, 3, 2];
需求:分别统计数组中所有1、2、3、4的总和,再计算这四个总和的总分。
下面是最适合新手理解的代码,用基础循环和条件判断实现:
// 定义目标数组 const arr = [1, 1, 3, 3, 3, 2, 2, 1, 3, 3, 2, 3, 4, 2, 3, 4, 4, 2, 1, 3, 2, 4, 3, 2]; // 初始化四个分数变量,初始值设为0(方便后续累加) let scoreN = 0; let scoreST = 0; let scoreO = 0; let scoreAA = 0; // 遍历数组中的每一个元素 for (let i = 0; i < arr.length; i++) { const currentNum = arr[i]; // 判断当前元素属于哪一类,对应累加数值 if (currentNum === 1) { scoreN += currentNum; } else if (currentNum === 2) { scoreST += currentNum; } else if (currentNum === 3) { scoreO += currentNum; } else if (currentNum === 4) { scoreAA += currentNum; } } // 计算总分 const totalScore = scoreN + scoreST + scoreO + scoreAA; // 打印结果,方便验证 console.log("所有1的总和:", scoreN); console.log("所有2的总和:", scoreST); console.log("所有3的总和:", scoreO); console.log("所有4的总和:", scoreAA); console.log("总分:", totalScore);
代码说明
- 先把目标数组存入变量
arr,方便后续操作; - 给四个分数变量设初始值0,否则无法进行累加计算;
- 用
for循环逐个遍历数组元素,新手能直观看到每一步的遍历过程; - 用
if-else判断当前元素的类型,直接将元素值加到对应分数变量中; - 最后将四个分数相加得到总分,通过
console.log输出结果查看。
运行代码后会得到:
- scoreN = 4(数组中有4个1,1×4=4)
- scoreST = 14(7个2,2×7=14)
- scoreO = 30(10个3,3×10=30)
- scoreAA = 16(4个4,4×4=16)
- totalScore = 64
内容的提问来源于stack exchange,提问作者slyfox
相关产品推荐
相关产品推荐

