কম্পিউটার

জাভাস্ক্রিপ্টের নির্দিষ্ট উপাদানের অবস্থান পরিবর্তন না করেই অ্যারেকে বিপরীত করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা লিটারেলের একটি অ্যারে নেয়। ফাংশনটি অ্যারেতে '#' উপস্থাপনের সূচী পরিবর্তন না করেই অ্যারেটিকে বিপরীত করা উচিত, যেমন নীচের উদাহরণ -

অ্যারে [18,-4,'#',0,8,'#',5] ফিরতে হবে −

[5, 8, "#", 0, -4, "#", 18]

এখানে, একই সূচক রাখার সময় '#' বাদ দিয়ে সংখ্যাগুলিকে বিপরীত করা উচিত।

উদাহরণ

const arr = [18, -4, '#', 0, 8, '#', 5];
const arr1 = [18, -4, 0, '#', 8, '#', 5];
const specialReverse = (arr = []) => {
   let removed = arr.reduce((acc, val, ind) => {
      return val === '#' ? acc.concat(ind) : acc;
   }, []);
   let reversed = arr.filter(val => val !== '#').reverse();
   removed.forEach(el => reversed.splice(el, 0, '#'));
   return reversed;
};
console.log(specialReverse(arr));
console.log(specialReverse(arr1));

আউটপুট

এবং কনসোলে আউটপুট হবে −

[
5, 8, '#', 0,
-4, '#', 18
]
[
5, 8, 0, '#',
-4, '#', 18
]

  1. জাভাস্ক্রিপ্টে অ্যারের একটি নির্দিষ্ট অবস্থানে একটি উপাদান যোগ করা

  2. জাভাস্ক্রিপ্টে _.initial() ফাংশনের গুরুত্ব কী?

  3. জাভাস্ক্রিপ্টের সাথে একই অ্যারের একটি অ্যারের উপাদানগুলিকে কীভাবে নকল করবেন?

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