如果元素重复,从 JavaScript 数组中删除此元素的所有实例


我们需要编写一个函数,该函数取出一个数组并返回一个新数组,此新数组删除了所有重复值。在原始数组中出现过多次的值在这新数组中连一次都不能出现。

例如,如果输入为 −

const arr = [763,55,43,22,32,43,763,43];

输出应为 −

const output = [55, 22, 32];

Array.prototype.indexOf():如果存在,则返回要搜索的字符串的第一个出现处的索引,否则返回 -1。

Array.prototype.lastIndexOf():如果存在,则返回要搜索的字符串最后一次出现处的索引,否则返回 -1。

因此,让我们编写此函数的代码 −

示例

这段代码为 −

const arr = [763,55,43,22,32,43,763,43];
const deleteDuplicate = (arr) => {
   const output = arr.filter((item, index, array) => {
      return array.indexOf(item) === array.lastIndexOf(item);
   });
   return output;
};
console.log(deleteDuplicate(arr));

输出

控制台中的输出为 −

[ 55, 22, 32 ]

更新于:20-Oct-2020

69 浏览

开启你的 职业生涯

完成本课程以获得认证

开始
广告