使用遞迴從陣列中移除連續重複項 - JavaScript


我們應該編寫一個函式,採用一個數字/字串字面量陣列。該函式應該刪除陣列的所有冗餘連續元素,而不使用額外的記憶體空間。

例如,如果輸入陣列為 -

const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];

則輸出應為 -

const output = [17, 12, 354, 1];

示例

以下是程式碼 -

const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];
const comp = (arr, len = 0, deletable = false) => {
   if(len < arr.length){
      if(deletable){
         arr.splice(len, 1);
         len--;
      }
      return comp(arr, len+1, arr[len] === arr[len+1])
   };
   return;
};
comp(arr);
console.log(arr);

輸出

這將在控制檯產生以下輸出 -

[ 17, 12, 354, 1 ]

更新於:18-9-2020

454 次瀏覽

開啟您的職業生涯

完成課程認證

立即開始
廣告