কম্পিউটার

রিকারশন - জাভাস্ক্রিপ্ট ব্যবহার করে একটি অ্যারের সমস্ত অবস্থানে একটি উপাদান কীভাবে সন্নিবেশ করা যায়?


আমাদের একটি ফাংশন ঘোষণা করতে হবে, ধরা যাক 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 ] ]

  1. কিভাবে একটি জাভাস্ক্রিপ্ট অ্যারে সব অনন্য মান পেতে?

  2. জাভাস্ক্রিপ্টে একটি অ্যারেতে একাধিক ঘটছে এমন উপাদানের সমস্ত ঘটনাগুলি সরান৷

  3. জাভাস্ক্রিপ্ট - অ্যারে অনির্ধারিত উপাদান সংখ্যা

  4. জাভাস্ক্রিপ্ট নম্বরের একটি সাজানো অ্যারেতে একটি সংখ্যা সন্নিবেশ করান