এই প্রোগ্রামে একটি সংখ্যা অ্যারে থেকে প্রতি n-তম ইন্ডেক্সের উপাদানগুলোর যোগফল বের করা হয়।
উদাহরণ
arr = [1, 4, 5, 3, 5, 6, 12, 5, 65, 3, 2, 65, 9] n = 2 // ইন্ডেক্স ০, ২, ৪, ৬, ৮, ১০, ১২ (প্রতি ২-তম) // উপাদান: 1, 5, 5, 12, 65, 2, 9 // যোগফল: 1+5+5+12+65+2+9 = 99
সমাধান
const nthSum = (arr, n) => {
// ভ্যালিডেশন
if (!Array.isArray(arr) || n <= 0) return 0;
let sum = 0;
for (let i = 0; i < arr.length; i += n) {
sum += arr[i];
}
return sum;
};
// অথবা reduce() ব্যবহার করে
const nthSumReduce = (arr, n) => {
return arr
.filter((_, index) => index % n === 0)
.reduce((acc, val) => acc + val, 0);
};
// টেস্ট
const arr = [1, 4, 5, 3, 5, 6, 12, 5, 65, 3, 2, 65, 9];
console.log(nthSum(arr, 2)); // 99
console.log(nthSumReduce(arr, 2)); // 99
console.log(nthSum(arr, 3)); // 1+3+65+9 = 78
প্যাটার্ন ব্যাখ্যা
i += n ব্যবহার করে লুপে সরাসরি n-তম ইন্ডেক্সে যাওয়া হয়, যা ফিল্টার বা মডুলো অপারেশন চেয়ে দ্রুত।
উৎপাদন
99