মান লিজিয়ে, আমাদের কাছে দুটি অ্যারে আছে, উদাহরণস্বরূপ নিচের দুটো কনসিডার করুন:
const array1 = ['a','b','c','d','e','f','g','h']; const array2 = [ 1, 0, 0, 1 , 0, 0, 1, 0];
দুটি অ্যারেই একই দৈর্ঘ্যের হতে হবে। আমাদের একটি ফাংশন লিখতে হবে যা যখন দ্বিতীয় অ্যারেতে থেকে একটি এলিমেন্ট প্রদান করা হবে, তবে প্রথম অ্যারে থেকে একটি সাব-অ্যারে রিটার্ন করবে যেটিতে সেই সব এলিমেন্ট থাকবে যেসবের ইনডেক্স দ্বিতীয় অ্যারেতে আর্গুমেন্ট হিসেবে নেওয়া এলিমেন্টের ইনডেক্সের সাথে মিলে।
উদাহরণস্বরূপ: findSubArray(0) সেটি রিটার্ন করবে:
['b', 'c', 'e', 'f', 'h']
কারণ এই এলিমেন্টগুলো প্রথম অ্যারেতে ইনডেক্স ১, ২, ৪, ৫, ৭-তে রয়েছে, যেখানে দ্বিতীয় অ্যারেতে ০ রয়েছে।
তাহলে, এখন এই ফাংশনের কোড লিখি:
উদাহরণ
const array1 = ['a','b','c','d','e','f','g','h']; const array2 = [ 1, 0, 0, 1 , 0, 0, 1, 0]; const findSubArray = (first, second, el) => { if(first.length !== second.length){ return false; }; return second.reduce((acc, val, ind) => { if(val === el){ acc.push(first[ind]); }; return acc; }, []); }; console.log(findSubArray(array1, array2, 0)); console.log(findSubArray(array1, array2, 1));আউটপুট
কনসোলে আউটপুট হবে:
[ 'b', 'c', 'e', 'f', 'h' ] [ 'a', 'd', 'g' ]