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 ]