Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

หาผลรวมทุก n-th อิลีเมนต์ในอาร์เรย์ - JavaScript

คำนวณผลรวมของเอลีเมนต์ที่อยู่ตำแหน่ง index เป็นจำนวนคูณของ n (เริ่มจาก index 0)

ตัวอย่างโค้ด

const arr = [1, 4, 5, 3, 5, 6, 12, 5, 65, 3, 2, 65, 9];
const num = 2;

const nthSum = (arr, num) => {
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    if (i % num !== 0) continue;
    sum += arr[i];
  }
  return sum;
};

console.log(nthSum(arr, num));

ผลลัพธ์

99

คำนวณ

Index: 0  2  4  6  8  10 12
Value: 1 + 5 + 5 + 12 + 65 + 2 + 9 = 99

วิธีแบบ Functional (ES6)

const nthSum = (arr, n) => 
  arr.filter((_, i) => i % n === 0).reduce((a, b) => a + b, 0);

ใช้ filter กรอง index แล้ว reduce หาผลรวม เขียนกระชับและอ่านง่าย