我们应该编写一个接受数字/字符串文字数组的函数。该函数应删除阵列的所有冗余连续元素,而不使用额外的存储空间。
例如,如果输入数组是-
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 ]