मान लीजिए हमारे पास संख्या लिटरल की एक सरणी है जिसमें कुछ लगातार अनावश्यक प्रविष्टियाँ हैं:
const testArr = [1, 1, 2, 2, 3, 3, 1, 1, 1];
हमें एक फ़ंक्शन compress लिखना है जो इस सरणी को लेता है और सभी अनावश्यक लगातार प्रविष्टियों को स्थानांतरित करके हटा देता है। ताकि आउटपुट इस तरह दिखे:
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 ]