从JavaScript中的一系列文字量中删除重复项

假设我们得到了一系列的文字。我们需要编写一个函数,该函数就地从数组中删除所有重复项,以使每个元素仅出现一次并返回数组的新长度。

这样做的条件是我们不能为另一个数组分配额外的空间,我们必须通过使用O(1)额外的内存就地修改输入数组来做到这一点。

示例

为此的代码将是-

const arr = [1, 3, 3, 6, 7, 7, 9, 11, 13];
const removeDuplicates = (arr = []) => {
   let i=0;
   while(i < arr.length − 1){
      let j = i + 1;
      if(arr[i] === arr[j]){
         arr.splice(j,1);
      }else{
         i++;
      }
   };
};
removeDuplicates(arr);
console.log(arr);

输出结果

控制台中的输出将是-

[
   1, 3, 6, 7,
   9, 11, 13
]