আমাদের একটি ফাংশন ঘোষণা করতে হবে, ধরা যাক InsertAllPositions, যা দুটি আর্গুমেন্ট নেয় -
একটি উপাদান, x, এবং একটি অ্যারে, অ্যারের. ফাংশনগুলিকে অবশ্যই অ্যারেগুলির একটি অ্যারে ফিরিয়ে দিতে হবে, প্রতিটি অ্যারের সাথে একটি সম্ভাব্য অবস্থানে x ঢোকানো অ্যারের সাথে সম্পর্কিত।
অর্থাৎ, যদি arr দৈর্ঘ্য N হয়, তাহলে ফলাফল হল N + 1 অ্যারে সহ একটি অ্যারে −
উদাহরণস্বরূপ, insertAllPositions(10, [1,2,3]) এর ফলাফল হওয়া উচিত −
const output = [ [10,1,2,3], [1,10,2,3], [1,2,10,3], [1,2,3,10] ];
আমাদের এই ফাংশনটি বিশুদ্ধভাবে পুনরাবৃত্তি ব্যবহার করে লিখতে হবে।
উদাহরণ
নিম্নলিখিত কোড -
const arr = [1, 2, 3]; const num = 10; const insertAllPositions = (num, arr) => { return arr.length ? [[num, ...arr]] .concat(insertAllPositions(num, arr.slice(1)) .map(el => { return [arr[0]].concat(el); })) : [[num]] }; console.log(insertAllPositions(num, arr));
আউটপুট
এটি কনসোলে নিম্নলিখিত আউটপুট তৈরি করবে -
[ [ 10, 1, 2, 3 ], [ 1, 10, 2, 3 ], [ 1, 2, 10, 3 ], [ 1, 2, 3, 10 ] ]