আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে লিটারেলের একটি অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে একটি সংখ্যা নেয়৷
ফাংশনটি এমন সমস্ত অ্যারেগুলির একটি অ্যারে তৈরি করা উচিত যার দৈর্ঘ্য দ্বিতীয় আর্গুমেন্ট দ্বারা নির্দিষ্ট করা সংখ্যার সমান এবং ইনপুট অ্যারের উপাদানগুলির সমস্ত সম্ভাব্য স্থানান্তর ধারণ করে৷
যেমন −
যদি ইনপুট অ্যারে এবং সংখ্যা হয় −
const arr = ['k', 5]; const num = 3;
তারপর আউটপুট −
হওয়া উচিতconst output = [ [ 'k', 'k', 'k' ], [ 'k', 'k', 5 ], [ 'k', 5, 'k' ], [ 'k', 5, 5 ], [ 5, 'k', 'k' ], [ 5, 'k', 5 ], [ 5, 5, 'k' ], [ 5, 5, 5 ] ];
উদাহরণ
নিম্নলিখিত কোড -
const arr = ['k', 5]; const num = 3; const allPairs = (arr = [], num) => { const res = []; if(num === 0){ return [[]]; } const subResult = allPairs(arr, num - 1); for(let el of arr){ for(let sub of subResult){ res.push([el].concat(sub)); } } return res; } console.log(allPairs(arr, num));
আউটপুট
নিম্নোক্ত কনসোল আউটপুট -
[ [ 'k', 'k', 'k' ], [ 'k', 'k', 5 ], [ 'k', 5, 'k' ], [ 'k', 5, 5 ], [ 5, 'k', 'k' ], [ 5, 'k', 5 ], [ 5, 5, 'k' ], [ 5, 5, 5 ] ]