সমস্যা
আমাদের Array ক্লাসের প্রোটোটাইপ অবজেক্টে একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে।
এই ফাংশনটি একমাত্র আর্গুমেন্ট হিসেবে একটি কলব্যাক ফাংশন নেবে। কলব্যাক ফাংশনটি অ্যারে এর প্রতিটি উপাদানের জন্য কল হবে।
কলব্যাক ফাংশনটি দুটি আর্গুমেন্ট নেবে: সংশ্লিষ্ট উপাদান এবং তার ইনডেক্স। যদি কলব্যাক ফাংশন true ফেরত দেয়, তবে সংশ্লিষ্ট উপাদান আউটপুট অ্যারেতে অন্তর্ভুক্ত করা হবে, অন্যথায় বাদ দেওয়া হবে।
উদাহরণ
নিচের কোডটি দেখুন:
const arr = [5, 3, 6, 2, 7, -4, 8, 10];
const isEven = num => num % 2 === 0;
Array.prototype.customFilter = function(callback) {
const res = [];
for (let i = 0; i < this.length; i++) {
const el = this[i];
if (callback(el, i)) {
res.push(el);
}
}
return res;
};
console.log(arr.customFilter(isEven));
আউটপুট
[ 6, 2, -4, 8, 10 ]