使用递归从 JavaScript 数组中删除连续重复条目

javascriptweb developmentfront end technologyobject oriented programming更新于 2026/2/3 13:00:17

我们应该编写一个函数,该函数接受一个数字/字符串文字数组。该函数应删除数组中所有多余的连续元素,而无需使用额外的内存空间。

例如,如果输入数组是 −

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 ]

相关文章


有用资源