हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो शाब्दिक की एक सरणी लेता है। फ़ंक्शन को किसी सरणी में प्रस्तुत '#' की अनुक्रमणिका को बदले बिना सरणी को उलट देना चाहिए, जैसे नीचे दिए गए उदाहरण -
ऐरे [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 ]