मान लीजिए, हमारे पास संख्या शाब्दिकों की एक सरणी है जिसमें इस तरह की लगातार कुछ निरर्थक प्रविष्टियां शामिल हैं -
const testArr = [1, 1, 2, 2, 3, 3, 1, 1, 1];
हमें एक फ़ंक्शन कंप्रेस लिखना है जो इस सरणी में लेता है और सभी अनावश्यक लगातार प्रविष्टियों को हटा देता है। ताकि आउटपुट इस तरह दिखे -
const output = [1, 2, 3, 1];
आइए इस फ़ंक्शन के लिए कोड लिखें, हम इसके लिए रिकर्सन का उपयोग करेंगे और इसके लिए कोड होगा -
उदाहरण
const testArr = [1, 1, 2, 2, 3, 3, 1, 1, 1]; const compress = (arr, len = 0, canDelete = false) => { if(len < arr.length){ if(canDelete){ arr.splice(len, 1); len--; } return compress(arr, len+1, arr[len] === arr[len+1]) }; return; }; compress(testArr); console.log(testArr);
आउटपुट
कंसोल में आउटपुट होगा -
[ 1, 2, 3, 1 ]