আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা শाब্দিক উপাদানগুলির একটি অ্যারে গ্রহণ করে। ফাংশনটি অ্যারেটি রিভার্স করবে কিন্তু '#' উপাদানগুলির ইনডেক্স পরিবর্তন করবে না, নিচের উদাহরণের মত −
অ্যারে [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 ]