يمكن حساب المجموع بحلقة for، أو بدالة تكرارية (Recursive)، أو بمعادلة رياضية مباشرة. أما array.filter فلا تصلح لهذا، لأنها تختار عناصر من مصفوفة ولا تجمعها.
1. حلقة for
function calculateSum(n) {
let sum = 0;
for (let i = 1; i <= n; i++) sum += i;
return sum;
}
2. دالة تكرارية
function calculateSum(n) {
return n <= 0 ? 0 : n + calculateSum(n - 1);
}
3. المعادلة
function calculateSum(n) {
return (n * (n + 1)) / 2;
}
الطريقة الثالثة الأسرع لأنها لا تمرّ على الأرقام واحدًا واحدًا. calculateSum(10) يعطي 55 في الطرق الثلاث.